summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-01-16 08:23:55 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-01-17 14:16:29 +0000
commitc9e0e8d5712b848cd15f343d4d1ebf475d1b7d77 (patch)
tree8d7cc399de5c4eaa078f7b8894017248ef0ca326
parent2164209224cd275906728e8e9e315a8b25e355fa (diff)
QWidget: Fix a crash when platform window creation fails
Add a check on the platform window to QWidgetPrivate::create_sys(). Task-number: QTBUG-65783 Change-Id: I077882e1cf22ef49bb6f578f7460493ef48c9627 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 9de2ef6f5ab3b21b4e1679e010ee488193cb41e4)
-rw-r--r--src/widgets/kernel/qwidget.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index 5dd43390ee..b505420160 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -1470,8 +1470,10 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
QWindowPrivate::WindowFrameInclusive : QWindowPrivate::WindowFrameExclusive;
win->create();
// Enable nonclient-area events for QDockWidget and other NonClientArea-mouse event processing.
- if ((flags & Qt::Desktop) == Qt::Window)
- win->handle()->setFrameStrutEventsEnabled(true);
+ if ((flags & Qt::Desktop) == Qt::Window) {
+ if (QPlatformWindow *platformWindow = win->handle())
+ platformWindow->setFrameStrutEventsEnabled(true);
+ }
data.window_flags = win->flags();