[PATCH v2 1/2] user32: Call DefWindowProc() in DesktopWndProc().

Józef Kucia joseph.kucia at gmail.com
Mon Sep 17 05:07:27 CDT 2018


From: Józef Kucia <jkucia at codeweavers.com>

This fixes a regression introduced by commit
fc14753dc0188a52a05243d5d82c4062b93daaff.

WM_NCCALCSIZE is not handled yet because it initiates loading the driver
again.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45485
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---

Hopefully more acceptable fix.

We could fix WM_NCCALCSIZE by using one the following solutions:
* call SystemParametersInfoW() only when strictly necessary in
AdjustWindowRectEx(),
* avoid calling user drivers in SystemParametersInfo(); the call to user
driver is only necessary for SPI_GETSCREENSAVEACTIVE and
SPI_SETSCREENSAVEACTIVE.

I'm not sure if there are other better, preferable ways to fix
WM_NCCALCSIZE.

---
 dlls/user32/desktop.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/user32/desktop.c b/dlls/user32/desktop.c
index d22e732fd5b9..f53b3f6ec0dd 100644
--- a/dlls/user32/desktop.c
+++ b/dlls/user32/desktop.c
@@ -127,8 +127,9 @@ LRESULT WINAPI DesktopWndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lP
         }
         return TRUE;
     }
+    case WM_NCCALCSIZE: return 0;
     default:
-        return 0;  /* all other messages are ignored */
+        return DefWindowProcW( hwnd, message, wParam, lParam );
     }
 }
 
-- 
2.16.4




More information about the wine-devel mailing list