diff options
author | Laszlo Agocs <laszlo.agocs@digia.com> | 2014-07-30 17:59:25 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@digia.com> | 2014-07-30 20:55:01 +0200 |
commit | b870fe9a7a7dc7830cae498e111fda0ff9c5f98d (patch) | |
tree | 55cc9e78c89ab797185e49026c381f0998924bf6 | |
parent | b565c0184253edc64abd3d5ae682352b2abd526c (diff) | |
download | qtquickcontrols-b870fe9a7a7dc7830cae498e111fda0ff9c5f98d.tar.gz |
Fix tooltip position when used with QQuickWidget
Task-number: QTBUG-39878
Change-Id: I1df4e7b7b17a11234e2569d6502aa9618a590acd
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
-rw-r--r-- | src/controls/Private/qquicktooltip.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/controls/Private/qquicktooltip.cpp b/src/controls/Private/qquicktooltip.cpp index e09a6b76..30ac58ee 100644 --- a/src/controls/Private/qquicktooltip.cpp +++ b/src/controls/Private/qquicktooltip.cpp @@ -44,6 +44,7 @@ #include <qquickitem.h> #include <private/qguiapplication_p.h> #include <qpa/qplatformintegration.h> +#include <QtQuick/private/qquickrendercontrol_p.h> #ifdef QT_WIDGETS_LIB #include <qtooltip.h> @@ -64,8 +65,12 @@ void QQuickTooltip::showText(QQuickItem *item, const QPointF &pos, const QString #ifdef QT_WIDGETS_LIB if (QGuiApplicationPrivate::platformIntegration()-> hasCapability(QPlatformIntegration::MultipleWindows) && - QCoreApplication::instance()->inherits("QApplication")) - QToolTip::showText(item->window()->mapToGlobal(item->mapToScene(pos).toPoint()), str); + QCoreApplication::instance()->inherits("QApplication")) { + QWindow *renderWindow = QQuickRenderControl::renderWindowFor(item->window()); + QWindow *window = renderWindow ? renderWindow : item->window(); + QPoint mappedPos = window->mapToGlobal(item->mapToScene(pos).toPoint()); + QToolTip::showText(mappedPos, str); + } #else Q_UNUSED(item); Q_UNUSED(pos); |