summaryrefslogtreecommitdiffstats
path: root/src/widgets/platforms/win/qapplication_win.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/platforms/win/qapplication_win.cpp')
-rw-r--r--src/widgets/platforms/win/qapplication_win.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/widgets/platforms/win/qapplication_win.cpp b/src/widgets/platforms/win/qapplication_win.cpp
index 72a05afbd0..63e2319b3e 100644
--- a/src/widgets/platforms/win/qapplication_win.cpp
+++ b/src/widgets/platforms/win/qapplication_win.cpp
@@ -2372,8 +2372,13 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa
#ifndef QT_NO_ACCESSIBILITY
case WM_GETOBJECT:
{
+ /* On Win64, lParam can be 0x00000000fffffffc or 0xfffffffffffffffc (!),
+ but MSDN says that lParam should be converted to a DWORD
+ before its compared against OBJID_CLIENT
+ */
+ const DWORD dwObjId = (DWORD)lParam;
// Ignoring all requests while starting up
- if (QApplication::startingUp() || QApplication::closingDown() || lParam != (LPARAM)OBJID_CLIENT) {
+ if (QApplication::startingUp() || QApplication::closingDown() || dwObjId != OBJID_CLIENT) {
result = false;
break;
}