diff options
author | Gunnar Sletta <gunnar.sletta@jollamobile.com> | 2014-05-13 16:05:17 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-15 02:51:06 +0200 |
commit | cd910e9254e07d2c1cc7b9aadeeef24ba96fbf78 (patch) | |
tree | a70fcc2feaaf3eb3243270d2db1ac861e0f75898 /src | |
parent | 1ae7c76b2adb3b72f736b25cb8195cbefb4bef67 (diff) |
Don't crash when platform plugin sends us two close events.
Change-Id: Icfe2954908fad2abfb4195fc535aadd1e6302f76
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/kernel/qwindow.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index d4c1f2ade3..bebf3ab6c4 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -1522,6 +1522,9 @@ void QWindow::resize(const QSize &newSize) void QWindow::destroy() { Q_D(QWindow); + if (!d->platformWindow) + return; + QObjectList childrenWindows = children(); for (int i = 0; i < childrenWindows.size(); i++) { QObject *object = childrenWindows.at(i); @@ -1791,6 +1794,9 @@ bool QWindow::close() if (parent()) return false; + if (!d->platformWindow) + return true; + if (QGuiApplicationPrivate::focus_window == this) QGuiApplicationPrivate::focus_window = 0; if (QGuiApplicationPrivate::currentMouseWindow == this) |