diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-05-07 10:58:20 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-05-14 07:58:21 +0000 |
commit | ea1395e48205dd45f2485a40e8a3f23273cc4ad3 (patch) | |
tree | d03c3b5ec616e79c2305580b7c0182d5f8e005c8 /src/webengine/render_widget_host_view_qt_delegate_quick.cpp | |
parent | cc105d084620d19953e90abf006b75c3c4c498b0 (diff) |
Place popups in correct locations for transformed webengine views
Transform between global coordinates have the relative position to
the window transforms and coordinates where they are not.
Note, the content of the popup is not transformed yet.
Task-number: QTBUG-73244
Change-Id: I74b75771e8b60b409ab82c6238308b2497c435ef
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src/webengine/render_widget_host_view_qt_delegate_quick.cpp')
-rw-r--r-- | src/webengine/render_widget_host_view_qt_delegate_quick.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp index 4d3a71a79..b636448b3 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -101,7 +101,13 @@ void RenderWidgetHostViewQtDelegateQuick::initAsPopup(const QRect &r) QRectF RenderWidgetHostViewQtDelegateQuick::viewGeometry() const { - return QRectF(mapToGlobal(QPointF(0, 0)), size()); + // Transform the entire rect to find the correct top left corner. + const QPointF p1 = mapToGlobal(mapFromScene(QPointF(0, 0))); + const QPointF p2 = mapToGlobal(mapFromScene(QPointF(width(), height()))); + QRectF geometry = QRectF(p1, p2).normalized(); + // But keep the size untransformed to behave like other QQuickItems. + geometry.setSize(size()); + return geometry; } QRect RenderWidgetHostViewQtDelegateQuick::windowGeometry() const |