Author: gschneider Date: Sat Aug 1 13:26:40 2009 New Revision: 42321
URL: http://svn.reactos.org/svn/reactos?rev=42321&view=rev Log: - Handle WM_SETREDRAW messages differently in the DefWndProc, ported from current Wine - Fixes mIRC riched component regression, no more riched20 reverts for releases needed See issue #4098 for more details.
Modified: trunk/reactos/dll/win32/user32/windows/defwnd.c
Modified: trunk/reactos/dll/win32/user32/windows/defwnd.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/de... ============================================================================== --- trunk/reactos/dll/win32/user32/windows/defwnd.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/windows/defwnd.c [iso-8859-1] Sat Aug 1 13:26:40 2009 @@ -1245,7 +1245,14 @@
case WM_SETREDRAW: { - DefWndSetRedraw(hWnd, wParam); + LONG_PTR Style = GetWindowLongPtrW(hWnd, GWL_STYLE); + if (wParam) SetWindowLongPtr(hWnd, GWL_STYLE, Style | WS_VISIBLE); + else + { + RedrawWindow(hWnd, NULL, 0, RDW_ALLCHILDREN | RDW_VALIDATE); + Style &= ~WS_VISIBLE; + SetWindowLongPtr(hWnd, GWL_STYLE, Style); + } return (0); }