diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-01-16 08:23:55 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-01-17 14:16:29 +0000 |
commit | c9e0e8d5712b848cd15f343d4d1ebf475d1b7d77 (patch) | |
tree | 8d7cc399de5c4eaa078f7b8894017248ef0ca326 | |
parent | 2164209224cd275906728e8e9e315a8b25e355fa (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.cpp | 6 |
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(); |