qt/qt-everywhere-opensource-src-4.8.0-QTBUG-22420-revert-x11-map-global.patch

66 lines
1.8 KiB
Diff

From fba5fce6723a739aec73ef5184ccb6cc425402fe Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Mon, 14 Nov 2011 16:26:15 +0100
Subject: [PATCH] Revert "Improved performance of mapFromGlobal/mapToGlobal on
X11"
The change introduces problems with Unity's global menu bar.
Task-number: QTBUG-22420
Reviewed-by: denis <denis.dzyubenko@nokia.com>
This reverts commit cdd776a91e65bf5c30cea1bab9823134a3f797d0.
---
src/gui/kernel/qwidget_x11.cpp | 28 ----------------------------
1 files changed, 0 insertions(+), 28 deletions(-)
diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp
index f99cc2c..52e3046 100644
--- a/src/gui/kernel/qwidget_x11.cpp
+++ b/src/gui/kernel/qwidget_x11.cpp
@@ -1336,40 +1336,12 @@ QPoint QWidgetPrivate::mapFromGlobal(const QPoint &pos) const
QPoint QWidget::mapToGlobal(const QPoint &pos) const
{
Q_D(const QWidget);
- QPoint offset = data->crect.topLeft();
- const QWidget *w = this;
- const QWidget *p = w->parentWidget();
- while (!w->isWindow() && p) {
- w = p;
- p = p->parentWidget();
- offset += w->data->crect.topLeft();
- }
-
- const QWidgetPrivate *wd = w->d_func();
- QTLWExtra *tlw = wd->topData();
- if (!tlw->embedded)
- return pos + offset;
-
return d->mapToGlobal(pos);
}
QPoint QWidget::mapFromGlobal(const QPoint &pos) const
{
Q_D(const QWidget);
- QPoint offset = data->crect.topLeft();
- const QWidget *w = this;
- const QWidget *p = w->parentWidget();
- while (!w->isWindow() && p) {
- w = p;
- p = p->parentWidget();
- offset += w->data->crect.topLeft();
- }
-
- const QWidgetPrivate *wd = w->d_func();
- QTLWExtra *tlw = wd->topData();
- if (!tlw->embedded)
- return pos - offset;
-
return d->mapFromGlobal(pos);
}
--
1.7.6