From ebfb42a9ada20c93643b05ebbb73709bd639742d Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Thu, 11 Feb 2010 14:36:11 +0100 Subject: Wrong cursor shown by the parent window after setOverrideCursor(). When calling QApplication::setOverrideCursor() and then showing a modal dialog, the parent window of the dialog reverts to the default cursor. At this point the parent window is in a disabled state, Windows uses the default cursor for the class. We need to override this behavior by handling WM_SETCURSOR. Task-number: QTBUG-6525 Reviewed-by: Denis Dzyubenko --- src/gui/kernel/qapplication_win.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index 3355272..2c6e246 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -2547,6 +2547,17 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam result = true; break; } +#ifndef QT_NO_CURSOR + case WM_SETCURSOR: { + QCursor *ovr = QApplication::overrideCursor(); + if (ovr) { + SetCursor(ovr->handle()); + RETURN(TRUE); + } + result = false; + break; + } +#endif default: result = false; // event was not processed break; -- cgit v0.12