]>
Commit | Line | Data |
---|---|---|
378d39c4 SS |
1 | From 9e9a7bc29319d52c3e563bc2c5282cb7e6890eba Mon Sep 17 00:00:00 2001 |
2 | From: Denis Dzyubenko <denis.dzyubenko@nokia.com> | |
3 | Date: Wed, 29 Sep 2010 14:02:10 +0200 | |
4 | Subject: [PATCH] Fixes cursor shape when widget becomes native on X11. | |
5 | ||
6 | When a native window handle is created for a widget that has override | |
7 | cursor set, we should reset the cursor on the parent and set the cursor | |
8 | on the new window handle. | |
9 | ||
10 | Task-number: QTBUG-6185 | |
11 | Reviewed-by: Olivier Goffart | |
12 | --- | |
13 | src/gui/kernel/qwidget_x11.cpp | 4 +++- | |
14 | 1 files changed, 3 insertions(+), 1 deletions(-) | |
15 | ||
16 | diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp | |
17 | index e01489f..8d80e10 100644 | |
18 | --- a/src/gui/kernel/qwidget_x11.cpp | |
19 | +++ b/src/gui/kernel/qwidget_x11.cpp | |
20 | @@ -889,8 +889,10 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO | |
21 | q->setWindowOpacity(maybeTopData()->opacity/255.); | |
22 | ||
23 | } | |
24 | - } else if (q->testAttribute(Qt::WA_SetCursor) && q->internalWinId()) { | |
25 | + } else if (q->internalWinId()) { | |
26 | qt_x11_enforce_cursor(q); | |
27 | + if (QWidget *p = q->parentWidget()) // reset the cursor on the native parent | |
28 | + qt_x11_enforce_cursor(p); | |
29 | } | |
30 | ||
31 | if (extra && !extra->mask.isEmpty() && q->internalWinId()) | |
32 | -- | |
33 | 1.6.1 | |
34 |