summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@qt.io>2017-05-29 13:20:11 +0200
committerMorten Johan Sørvig <morten.sorvig@qt.io>2017-06-22 11:34:30 +0000
commite3bdad13be9650d587fb18ff15122ebd3d09c194 (patch)
tree3c28a9dc405db37607e62b8412c399ed021e852b /src/widgets/kernel
parent3ee6d8d336db2d9d15818b234ce16531ea0cdd48 (diff)
Correctly set native widget window visibility
After d7a9e08f, calling QWindow::setVisible(true) is a no-op if the widget is already visible. Use QWidgetWindow::setNativeWindowVisibility() instead to set visibility for the native window directly. “Upgrading” widgets to be native widgets now works again. Change-Id: Id68dd8241f3afe00670c07e30e2b2ade9c150354 Task-number: QTBUG-61006 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/widgets/kernel')
-rw-r--r--src/widgets/kernel/qwidget.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index b465ac36c7..b9aff2a58b 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -1516,7 +1516,8 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
q->setAttribute(Qt::WA_OutsideWSRange, true);
} else if (q->isVisible()) {
// If widget is already shown, set window visible, too
- win->setVisible(true);
+ QWidgetWindow *widgetWindow = qobject_cast<QWidgetWindow *>(win);
+ widgetWindow->setNativeWindowVisibility(true);
}
}