summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows/qwindowscontext.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-02-28 11:59:30 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-28 22:57:26 +0100
commit58b928aca8029a4ebc63b0120a7afb93db4e8691 (patch)
treeb5602f44973ac6581da8f984ecfa425e426fc2fd /src/plugins/platforms/windows/qwindowscontext.cpp
parentfdd8a1b42c2e51057b37d9b3d75f30e82a89a6bf (diff)
Windows: Fix return value of WM_QUERYENDSESSION for bogus messages.
LRESULT should be non-zero if the application can quit, and it is always handled. Improves 97d8e3b2007abf7b14b4ccbfbbc4abdeef712bcf . Task-number: QTBUG-35986 Change-Id: I0ad95bc20a5d9e2a52c76bdcdfa986595f6a08d8 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowscontext.cpp')
-rw-r--r--src/plugins/platforms/windows/qwindowscontext.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp
index f67fb9bc19..6462cb8d3e 100644
--- a/src/plugins/platforms/windows/qwindowscontext.cpp
+++ b/src/plugins/platforms/windows/qwindowscontext.cpp
@@ -971,8 +971,10 @@ bool QWindowsContext::windowsProc(HWND hwnd, UINT message,
#if !defined(Q_OS_WINCE) && !defined(QT_NO_SESSIONMANAGER)
case QtWindows::QueryEndSessionApplicationEvent: {
QWindowsSessionManager *sessionManager = platformSessionManager();
- if (sessionManager->isActive()) // bogus message from windows
+ if (sessionManager->isActive()) { // bogus message from windows
+ *result = sessionManager->wasCanceled() ? 0 : 1;
return true;
+ }
sessionManager->setActive(true);
sessionManager->blocksInteraction();