diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-02-28 11:59:30 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-28 22:57:26 +0100 |
commit | 58b928aca8029a4ebc63b0120a7afb93db4e8691 (patch) | |
tree | b5602f44973ac6581da8f984ecfa425e426fc2fd /src/plugins/platforms/windows | |
parent | fdd8a1b42c2e51057b37d9b3d75f30e82a89a6bf (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')
-rw-r--r-- | src/plugins/platforms/windows/qwindowscontext.cpp | 4 |
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(); |