summaryrefslogtreecommitdiffstats
path: root/src/controls/Private/qquicktooltip.cpp
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-08-28 16:17:05 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-08-28 16:17:05 +0200
commit1c9bf2e4641ba1fe8e6d8ba3da0d783e11ae56f6 (patch)
tree7acb42c1c65868a3befa256cf117b6cacb942546 /src/controls/Private/qquicktooltip.cpp
parent10f0da6cfb56396a16ec741380556320fba86552 (diff)
parent042cd5a6d88685d57e8828e4aca55e48feeb9bf7 (diff)
Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev
Diffstat (limited to 'src/controls/Private/qquicktooltip.cpp')
-rw-r--r--src/controls/Private/qquicktooltip.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/controls/Private/qquicktooltip.cpp b/src/controls/Private/qquicktooltip.cpp
index e09a6b762..30ac58eed 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);