comctl32: Fix the updown control test to pass under XP

Dmitry Timoshkov dmitry at codeweavers.com
Sat Jan 20 03:09:43 CST 2007


Hello,

this patch makes the updown test pass cleanly under XP, and (inadvertently)
allows one more message sequence to pass under Wine.

Changelog:
    comctl32: Fix the updown control test to pass under XP.

---
 dlls/comctl32/tests/updown.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/dlls/comctl32/tests/updown.c b/dlls/comctl32/tests/updown.c
index e0b8131..9a9c493 100644
--- a/dlls/comctl32/tests/updown.c
+++ b/dlls/comctl32/tests/updown.c
@@ -109,6 +109,7 @@ static const struct message create_parent_wnd_seq[] = {
     { WM_SETFOCUS, sent|wparam|defwinproc, 0 },
     /* Win9x adds SWP_NOZORDER below */
     { WM_WINDOWPOSCHANGED, sent, /*|wparam, SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE*/ },
+    { WM_NCCALCSIZE, sent|wparam|optional, 1 },
     { WM_SIZE, sent },
     { WM_MOVE, sent },
     { 0 }
@@ -123,7 +124,7 @@ static const struct message add_updown_with_edit_seq[] = {
     { WM_WINDOWPOSCHANGING, sent },
     { WM_NCCALCSIZE, sent|wparam, TRUE },
     { WM_WINDOWPOSCHANGED, sent },
-    { WM_SIZE, sent|wparam|lparam|defwinproc, SIZE_RESTORED, MAKELONG(91, 75) },
+    { WM_SIZE, sent|wparam|defwinproc, SIZE_RESTORED /*, MAKELONG(91, 75) exact size depends on font */ },
     { 0 }
 };
 
@@ -202,6 +203,8 @@ static void ok_sequence_(int sequence_index, const struct message *expected,
 
     while (expected->message && actual->message)
     {
+        trace_( file, line)("expected %04x - actual %04x\n", expected->message, actual->message);
+
         if (expected->message == actual->message)
         {
             if (expected->flags & wparam)
@@ -356,6 +359,8 @@ static LRESULT WINAPI parent_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LP
         message != WM_GETICON &&
         message != WM_DEVICECHANGE)
     {
+        trace("parent: %p, %04x, %08x, %08lx\n", hwnd, message, wParam, lParam);
+
         msg.message = message;
         msg.flags = sent|wparam|lparam;
         if (defwndproc_counter) msg.flags |= defwinproc;
@@ -413,6 +418,8 @@ static LRESULT WINAPI edit_subclass_proc(HWND hwnd, UINT message, WPARAM wParam,
     LRESULT ret;
     struct message msg;
 
+    trace("edit: %p, %04x, %08x, %08lx\n", hwnd, message, wParam, lParam);
+
     msg.message = message;
     msg.flags = sent|wparam|lparam;
     if (defwndproc_counter) msg.flags |= defwinproc;
@@ -459,6 +466,8 @@ static LRESULT WINAPI updown_subclass_proc(HWND hwnd, UINT message, WPARAM wPara
     LRESULT ret;
     struct message msg;
 
+    trace("updown: %p, %04x, %08x, %08lx\n", hwnd, message, wParam, lParam);
+
     msg.message = message;
     msg.flags = sent|wparam|lparam;
     if (defwndproc_counter) msg.flags |= defwinproc;
@@ -519,7 +528,7 @@ static void test_create_updown_control(void)
     updown = create_updown_control();
     ok(updown != NULL, "Failed to create updown control\n");
     ok_sequence(PARENT_SEQ_INDEX, add_updown_to_parent_seq, "add updown control to parent", TRUE);
-    ok_sequence(EDIT_SEQ_INDEX, add_updown_with_edit_seq, "add updown control with edit", TRUE);
+    ok_sequence(EDIT_SEQ_INDEX, add_updown_with_edit_seq, "add updown control with edit", FALSE);
 
     flush_sequences();
 
-- 
1.4.4.4






More information about the wine-patches mailing list