user32: Preserve beginning of extra data for MDI windows.

Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Michael Müller 2016-02-26 07:24:51 +01:00 committed by Alexandre Julliard
parent e931f0e83d
commit 3c888a74c5
2 changed files with 6 additions and 1 deletions

View File

@ -127,6 +127,7 @@ typedef struct
* states it must keep coherency with USER32 on its own. This is true for
* Windows as well.
*/
LONG reserved;
UINT nActiveChildren;
HWND hwndChildMaximized;
HWND hwndActiveChild;

View File

@ -3380,6 +3380,7 @@ static void test_mdi_messages(void)
BOOL zoomed;
RECT rc;
HMENU hMenu = CreateMenu();
LONG val;
if (!mdi_RegisterWindowClasses()) assert(0);
@ -3408,8 +3409,9 @@ static void test_mdi_messages(void)
rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top,
mdi_frame, 0, GetModuleHandleA(0), &client_cs);
assert(mdi_client);
ok_sequence(WmCreateMDIclientSeq, "Create visible MDI client window", FALSE);
SetWindowLongA(mdi_client, 0, 0xdeadbeef);
ok_sequence(WmCreateMDIclientSeq, "Create visible MDI client window", FALSE);
ok(GetActiveWindow() == mdi_frame, "wrong active window %p\n", GetActiveWindow());
ok(GetFocus() == mdi_frame, "input focus should be on MDI frame not on %p\n", GetFocus());
@ -3867,6 +3869,8 @@ static void test_mdi_messages(void)
SetFocus(0);
flush_sequence();
val = GetWindowLongA(mdi_client, 0);
ok(val == 0xdeadbeef || broken(val == 0) /* >= Win Vista */, "Expected 0xdeadbeef, got 0x%x\n", val);
DestroyWindow(mdi_client);
ok_sequence(WmDestroyMDIclientSeq, "Destroy MDI client window", FALSE);