From a50deff4bedd34e4bc82706e75507fceef8750ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=B6berle?= Date: Sat, 24 Jan 2009 18:06:39 +0100 Subject: [PATCH] user32: Fix thick child minTrack and size. --- dlls/user32/tests/win.c | 36 ++++++++---------------------------- dlls/user32/winpos.c | 12 ++++++++++-- 2 files changed, 18 insertions(+), 30 deletions(-) diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c index 4e4b80d3de0..13534abe135 100644 --- a/dlls/user32/tests/win.c +++ b/dlls/user32/tests/win.c @@ -5282,20 +5282,11 @@ static LRESULT WINAPI test_thick_child_size_winproc(HWND hwnd, UINT msg, WPARAM } actualMinTrackX = minmax->ptMinTrackSize.x; actualMinTrackY = minmax->ptMinTrackSize.y; - if (!(test_thick_child_style & (WS_DLGFRAME | WS_BORDER))) { - todo_wine - ok(actualMinTrackX == expectedMinTrackX && actualMinTrackY == expectedMinTrackY, - "expected minTrack %dx%d, actual minTrack %dx%d for %s\n", - expectedMinTrackX, expectedMinTrackY, actualMinTrackX, actualMinTrackY, - test_thick_child_name); - } - else - { - ok(actualMinTrackX == expectedMinTrackX && actualMinTrackY == expectedMinTrackY, - "expected minTrack %dx%d, actual minTrack %dx%d for %s\n", - expectedMinTrackX, expectedMinTrackY, actualMinTrackX, actualMinTrackY, - test_thick_child_name); - } + + ok(actualMinTrackX == expectedMinTrackX && actualMinTrackY == expectedMinTrackY, + "expected minTrack %dx%d, actual minTrack %dx%d for %s\n", + expectedMinTrackX, expectedMinTrackY, actualMinTrackX, actualMinTrackY, + test_thick_child_name); actualMaxTrackX = minmax->ptMaxTrackSize.x; actualMaxTrackY = minmax->ptMaxTrackSize.y; @@ -5453,20 +5444,9 @@ static void test_thick_child_size(HWND parentWindow) expectedHeight = -2 * adjustedParentRect.top; } - if (!(test_thick_child_style & (WS_DLGFRAME | WS_BORDER))) - { - todo_wine - ok((childWidth == expectedWidth) && (childHeight == expectedHeight), - "size of window (%s) is wrong: expected size %dx%d != actual size %dx%d\n", - test_thick_child_name, expectedWidth, expectedHeight, childWidth, childHeight); - } - else - { - ok((childWidth == expectedWidth) && (childHeight == expectedHeight), - "size of window (%s) is wrong: expected size %dx%d != actual size %dx%d\n", - test_thick_child_name, expectedWidth, expectedHeight, childWidth, childHeight); - } - + ok((childWidth == expectedWidth) && (childHeight == expectedHeight), + "size of window (%s) is wrong: expected size %dx%d != actual size %dx%d\n", + test_thick_child_name, expectedWidth, expectedHeight, childWidth, childHeight); SetLastError(0xdeadbeef); success = DestroyWindow(childWindow); diff --git a/dlls/user32/winpos.c b/dlls/user32/winpos.c index c1da24990a9..f758514841d 100644 --- a/dlls/user32/winpos.c +++ b/dlls/user32/winpos.c @@ -678,8 +678,16 @@ void WINPOS_GetMinMaxInfo( HWND hwnd, POINT *maxSize, POINT *maxPos, MinMax.ptMaxSize.x = rc.right - rc.left; MinMax.ptMaxSize.y = rc.bottom - rc.top; - MinMax.ptMinTrackSize.x = GetSystemMetrics(SM_CXMINTRACK); - MinMax.ptMinTrackSize.y = GetSystemMetrics(SM_CYMINTRACK); + if (style & (WS_DLGFRAME | WS_BORDER)) + { + MinMax.ptMinTrackSize.x = GetSystemMetrics(SM_CXMINTRACK); + MinMax.ptMinTrackSize.y = GetSystemMetrics(SM_CYMINTRACK); + } + else + { + MinMax.ptMinTrackSize.x = -2 * rc.left; + MinMax.ptMinTrackSize.y = -2 * rc.top; + } MinMax.ptMaxTrackSize.x = GetSystemMetrics(SM_CXMAXTRACK); MinMax.ptMaxTrackSize.y = GetSystemMetrics(SM_CYMAXTRACK); xinc = -rc.left;