[PATCH] mdi: fix drawing the MDI client area when creating children.

Reece Dunn msclrhd at googlemail.com
Wed Feb 3 11:32:56 CST 2010

On 3 February 2010 15:17, Alexandre Julliard <julliard at winehq.org> wrote:
> Reece Dunn <msclrhd at googlemail.com> writes:
>> diff --git a/dlls/user32/mdi.c b/dlls/user32/mdi.c
>> index 631d477..0850282 100644
>> --- a/dlls/user32/mdi.c
>> +++ b/dlls/user32/mdi.c
>> @@ -1132,6 +1132,7 @@ LRESULT MDIClientWndProc_common( HWND hwnd, UINT message, WPARAM wParam, LPARAM
>>                                              hwnd, 0, csA->hOwner,
>>                                              (LPVOID)csA->lParam);
>>              }
>> +            InvalidateRect(hwnd, NULL, TRUE);
>>              return (LRESULT)child;
> The window should have been exposed and repainted when the children got
> resized. If this doesn't happen it's a bug, but invalidating by hand is
> only hiding the problem.

The MDI Client window is not getting painted when the maximised child
window is restored. That is the core problem identified by that bug.

There are some message trail tests in dlls/user32/tests/msg.c, but not
for the above scenario. I will extend the tests to investigate what is
going on in this specific case.

- Reece

More information about the wine-devel mailing list