From 69d0eafa085324c0c8c0d198544b3df7e8f89d3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 21 Nov 2016 12:27:31 +0100 Subject: [PATCH] Move QWindowPrivate::globalPosition() definition out of header Change-Id: Icaf68600a20d1845a5667a49306686948a20b42e Reviewed-by: Friedemann Kleint --- src/gui/kernel/qwindow.cpp | 14 ++++++++++++++ src/gui/kernel/qwindow_p.h | 14 +------------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index 4822793ae7..ba7fc8533f 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -2444,6 +2444,20 @@ QPoint QWindow::mapFromGlobal(const QPoint &pos) const return pos - d->globalPosition(); } +QPoint QWindowPrivate::globalPosition() const +{ + Q_Q(const QWindow); + QPoint offset = q->position(); + for (const QWindow *p = q->parent(); p; p = p->parent()) { + if (p->type() != Qt::ForeignWindow) { + offset += p->position(); + } else { // Use mapToGlobal() for foreign windows + offset += p->mapToGlobal(QPoint(0, 0)); + break; + } + } + return offset; +} Q_GUI_EXPORT QWindowPrivate *qt_window_private(QWindow *window) { diff --git a/src/gui/kernel/qwindow_p.h b/src/gui/kernel/qwindow_p.h index dd5aa54b4f..95c6abf428 100644 --- a/src/gui/kernel/qwindow_p.h +++ b/src/gui/kernel/qwindow_p.h @@ -123,19 +123,7 @@ public: void deliverUpdateRequest(); - QPoint globalPosition() const { - Q_Q(const QWindow); - QPoint offset = q->position(); - for (const QWindow *p = q->parent(); p; p = p->parent()) { - if (p->type() != Qt::ForeignWindow) { - offset += p->position(); - } else { // QTBUG-43252, mapToGlobal() for foreign children. - offset += p->mapToGlobal(QPoint(0, 0)); - break; - } - } - return offset; - } + QPoint globalPosition() const; QWindow *topLevelWindow() const;