[1/3] user32: Send the correct WM_CTLCOLOR* message in button WM_SETTEXT handler.
Sebastian Lackner
sebastian at fds-team.de
Tue Apr 19 15:14:49 CDT 2016
From: Alexander Lakhin <exclusion at gmail.com>
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
---
dlls/user32/button.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/dlls/user32/button.c b/dlls/user32/button.c
index 9c52147..efd74f9 100644
--- a/dlls/user32/button.c
+++ b/dlls/user32/button.c
@@ -389,13 +389,18 @@ LRESULT ButtonWndProc_common(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam,
HBRUSH hbrush;
RECT client, rc;
HWND parent = GetParent(hWnd);
+ UINT message = (btn_type == BS_PUSHBUTTON ||
+ btn_type == BS_DEFPUSHBUTTON ||
+ btn_type == BS_USERBUTTON ||
+ btn_type == BS_OWNERDRAW) ?
+ WM_CTLCOLORBTN : WM_CTLCOLORSTATIC;
if (!parent) parent = hWnd;
- hbrush = (HBRUSH)SendMessageW(parent, WM_CTLCOLORSTATIC,
- (WPARAM)hdc, (LPARAM)hWnd);
+ hbrush = (HBRUSH)SendMessageW(parent, message,
+ (WPARAM)hdc, (LPARAM)hWnd);
if (!hbrush) /* did the app forget to call DefWindowProc ? */
- hbrush = (HBRUSH)DefWindowProcW(parent, WM_CTLCOLORSTATIC,
- (WPARAM)hdc, (LPARAM)hWnd);
+ hbrush = (HBRUSH)DefWindowProcW(parent, message,
+ (WPARAM)hdc, (LPARAM)hWnd);
GetClientRect(hWnd, &client);
rc = client;
--
2.7.1
More information about the wine-patches
mailing list