Fix raising and lowering native widgets
authorMiikka Heikkinen <miikka.heikkinen@digia.com>
Wed, 27 Jun 2012 08:01:11 +0000 (11:01 +0300)
committerQt by Nokia <qt-info@nokia.com>
Wed, 27 Jun 2012 10:39:53 +0000 (12:39 +0200)
Raising or lowering a native widget needs to raise or lower the
associated platform window, too.

Task-number: QTBUG-26344
Change-Id: Ib847d97df86857d92bcc4c9c0dd51219575d8db1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
src/widgets/kernel/qwidget_qpa.cpp

index 387ed2e..99769b2 100644 (file)
@@ -670,7 +670,7 @@ void QWidgetPrivate::setFocus_sys()
 void QWidgetPrivate::raise_sys()
 {
     Q_Q(QWidget);
-    if (q->isWindow()) {
+    if (q->isWindow() || q->testAttribute(Qt::WA_NativeWindow)) {
         q->windowHandle()->raise();
     }
 }
@@ -678,7 +678,7 @@ void QWidgetPrivate::raise_sys()
 void QWidgetPrivate::lower_sys()
 {
     Q_Q(QWidget);
-    if (q->isWindow()) {
+    if (q->isWindow() || q->testAttribute(Qt::WA_NativeWindow)) {
         Q_ASSERT(q->testAttribute(Qt::WA_WState_Created));
         q->windowHandle()->lower();
     } else if (QWidget *p = q->parentWidget()) {