summaryrefslogtreecommitdiffstats
path: root/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-05-07 10:58:20 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-05-14 07:58:21 +0000
commitea1395e48205dd45f2485a40e8a3f23273cc4ad3 (patch)
treed03c3b5ec616e79c2305580b7c0182d5f8e005c8 /src/webengine/render_widget_host_view_qt_delegate_quick.cpp
parentcc105d084620d19953e90abf006b75c3c4c498b0 (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.cpp8
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