comctl32: header[1/2]: invalidate the control after a WM_SETREDRAW
with wParam == TRUE
Mikołaj Zalewski
mikolaj at zalewski.pl
Wed Oct 11 13:55:31 CDT 2006
MagicISO expects it.
-------------- next part --------------
diff --git a/dlls/comctl32/header.c b/dlls/comctl32/header.c
index 63f91d8..681b700 100644
--- a/dlls/comctl32/header.c
+++ b/dlls/comctl32/header.c
@@ -1945,6 +1945,18 @@ HEADER_SetFont (HWND hwnd, WPARAM wParam
return 0;
}
+static LRESULT HEADER_SetRedraw(HWND hwnd, WPARAM wParam, LPARAM lParam)
+{
+ /* ignoring the InvalidateRect calls is handled by user32. But some apps expect
+ * that we invalidate the header and this has to be done manually */
+ LRESULT ret;
+
+ ret = DefWindowProcW(hwnd, WM_SETREDRAW, wParam, lParam);
+ if (wParam)
+ InvalidateRect(hwnd, NULL, TRUE);
+ return ret;
+}
+
/* Update the theme handle after a theme change */
static LRESULT HEADER_ThemeChanged(HWND hwnd)
{
@@ -2081,6 +2093,9 @@ HEADER_WindowProc (HWND hwnd, UINT msg,
case WM_SETFONT:
return HEADER_SetFont (hwnd, wParam, lParam);
+ case WM_SETREDRAW:
+ return HEADER_SetRedraw(hwnd, wParam, lParam);
+
default:
if ((msg >= WM_USER) && (msg < WM_APP))
ERR("unknown msg %04x wp=%04x lp=%08lx\n",
--
1.4.2.3
More information about the wine-patches
mailing list