From 3c888a74c5c5811c46f09fc9a598fad722e9727b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 26 Feb 2016 07:24:51 +0100 Subject: [PATCH] user32: Preserve beginning of extra data for MDI windows. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michael Müller Signed-off-by: Sebastian Lackner Signed-off-by: Alexandre Julliard --- dlls/user32/mdi.c | 1 + dlls/user32/tests/msg.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/user32/mdi.c b/dlls/user32/mdi.c index b5a047307bc..b360528d01d 100644 --- a/dlls/user32/mdi.c +++ b/dlls/user32/mdi.c @@ -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; diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c index 94fe4cb64b0..98bf53d4e83 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c @@ -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);