summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@digia.com>2014-08-20 17:21:27 +0200
committerLaszlo Agocs <laszlo.agocs@digia.com>2014-08-22 19:37:13 +0200
commitad1b69c730b522ac2c9c4a04541798dcb9e19343 (patch)
tree5620ba92ef90a7e116ae12c4bc2954fd8b667d52
parentc4eafa613e1985dc47646365b27c07f509e14b1c (diff)
downloadqtquickcontrols-ad1b69c730b522ac2c9c4a04541798dcb9e19343.tar.gz
Fix tooltip positioning
The previous fix worked only properly when the QQuickWidget was located in the top-left corner of the window. With bigger offsets the tooltips were off. Task-number: QTBUG-39878 Change-Id: Ia25194175aa9f9daa9c7132fc776d4b2fa874c26 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
-rw-r--r--src/controls/Private/qquicktooltip.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/controls/Private/qquicktooltip.cpp b/src/controls/Private/qquicktooltip.cpp
index 30ac58ee..93429ea5 100644
--- a/src/controls/Private/qquicktooltip.cpp
+++ b/src/controls/Private/qquicktooltip.cpp
@@ -66,9 +66,11 @@ void QQuickTooltip::showText(QQuickItem *item, const QPointF &pos, const QString
if (QGuiApplicationPrivate::platformIntegration()->
hasCapability(QPlatformIntegration::MultipleWindows) &&
QCoreApplication::instance()->inherits("QApplication")) {
- QWindow *renderWindow = QQuickRenderControl::renderWindowFor(item->window());
+ QPoint quickWidgetOffsetInTlw;
+ QWindow *renderWindow = QQuickRenderControl::renderWindowFor(item->window(), &quickWidgetOffsetInTlw);
QWindow *window = renderWindow ? renderWindow : item->window();
- QPoint mappedPos = window->mapToGlobal(item->mapToScene(pos).toPoint());
+ const QPoint offsetInQuickWidget = item->mapToScene(pos).toPoint();
+ const QPoint mappedPos = window->mapToGlobal(offsetInQuickWidget + quickWidgetOffsetInTlw);
QToolTip::showText(mappedPos, str);
}
#else