diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-06-24 15:14:55 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-06-24 15:14:55 +0200 |
commit | 88211af86c3fe447041cfa1aa7be27da86dc84af (patch) | |
tree | de1e4f9bb41432bc3dadc7ed82429fd02bf39a3c /src/gui/kernel/qguiapplication.cpp | |
parent | 687f002352a02f190591c10fded61b2e566f521e (diff) | |
parent | 6213b8145772d3dc584907a544f6c46b8cef74e2 (diff) |
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Diffstat (limited to 'src/gui/kernel/qguiapplication.cpp')
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 3c3cea2910..77c9978a9e 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -789,7 +789,7 @@ static void init_platform(const QString &pluginArgument, const QString &platform fatalMessage += QStringLiteral("Available platforms are: %1\n").arg( keys.join(QStringLiteral(", "))); fatalMessage += QStringLiteral("GUI applications require a platform plugin. Terminating."); - qFatal(qPrintable(fatalMessage)); + qFatal("%s", qPrintable(fatalMessage)); return; } @@ -2479,10 +2479,18 @@ void QGuiApplicationPrivate::emitLastWindowClosed() bool QGuiApplicationPrivate::shouldQuit() { + const QWindowList processedWindows; + return shouldQuitInternal(processedWindows); +} + +bool QGuiApplicationPrivate::shouldQuitInternal(const QWindowList &processedWindows) +{ /* if there is no visible top-level window left, we allow the quit */ QWindowList list = QGuiApplication::topLevelWindows(); for (int i = 0; i < list.size(); ++i) { QWindow *w = list.at(i); + if (processedWindows.contains(w)) + continue; if (w->isVisible() && !w->transientParent()) return false; } |