Alexandre Julliard : user32/tests: Fix the cursor tests on Win9x.
Alexandre Julliard
julliard at winehq.org
Fri Nov 21 06:54:37 CST 2008
Module: wine
Branch: master
Commit: 4afb1c54c082b386a0afd1529ecf0ae8e5f8d530
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4afb1c54c082b386a0afd1529ecf0ae8e5f8d530
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu Nov 20 18:09:10 2008 +0100
user32/tests: Fix the cursor tests on Win9x.
---
dlls/user32/tests/cursoricon.c | 39 ++++++++++++++++++++-------------------
1 files changed, 20 insertions(+), 19 deletions(-)
diff --git a/dlls/user32/tests/cursoricon.c b/dlls/user32/tests/cursoricon.c
index 36f5e98..5d1cf2b 100644
--- a/dlls/user32/tests/cursoricon.c
+++ b/dlls/user32/tests/cursoricon.c
@@ -76,7 +76,7 @@ static LRESULT CALLBACK callback_child(HWND hwnd, UINT msg, WPARAM wParam, LPARA
SetLastError(0xdeadbeef);
ret = DestroyCursor((HCURSOR) lParam);
error = GetLastError();
- todo_wine ok(!ret, "DestroyCursor on the active cursor succeeded.\n");
+ todo_wine ok(!ret || broken(ret) /* win9x */, "DestroyCursor on the active cursor succeeded.\n");
ok(error == ERROR_DESTROY_OBJECT_OF_OTHER_THREAD ||
error == 0xdeadbeef, /* vista */
"Last error: %u\n", error);
@@ -983,25 +983,26 @@ static void test_DestroyCursor(void)
SetLastError(0xdeadbeef);
ret = DestroyCursor(cursor);
- ok(!ret, "DestroyCursor on the active cursor succeeded\n");
+ ok(!ret || broken(ret) /* succeeds on win9x */, "DestroyCursor on the active cursor succeeded\n");
error = GetLastError();
ok(error == 0xdeadbeef, "Last error: %u\n", error);
-
- cursor2 = GetCursor();
- ok(cursor2 == cursor, "Active was set to %p when trying to destroy it\n", cursor2);
-
- SetCursor(NULL);
-
- /* Trying to destroy the cursor properly fails now with
- * ERROR_INVALID_CURSOR_HANDLE. This happens because we called
- * DestroyCursor() 2+ times after calling SetCursor(). The calls to
- * GetCursor() and SetCursor(NULL) in between make no difference. */
- ret = DestroyCursor(cursor);
- todo_wine {
- ok(!ret, "DestroyCursor succeeded.\n");
- error = GetLastError();
- ok(error == ERROR_INVALID_CURSOR_HANDLE || error == 0xdeadbeef, /* vista */
- "Last error: 0x%08x\n", error);
+ if (!ret)
+ {
+ cursor2 = GetCursor();
+ ok(cursor2 == cursor, "Active was set to %p when trying to destroy it\n", cursor2);
+ SetCursor(NULL);
+
+ /* Trying to destroy the cursor properly fails now with
+ * ERROR_INVALID_CURSOR_HANDLE. This happens because we called
+ * DestroyCursor() 2+ times after calling SetCursor(). The calls to
+ * GetCursor() and SetCursor(NULL) in between make no difference. */
+ ret = DestroyCursor(cursor);
+ todo_wine {
+ ok(!ret, "DestroyCursor succeeded.\n");
+ error = GetLastError();
+ ok(error == ERROR_INVALID_CURSOR_HANDLE || error == 0xdeadbeef, /* vista */
+ "Last error: 0x%08x\n", error);
+ }
}
DeleteObject(cursorInfo.hbmMask);
@@ -1012,7 +1013,7 @@ static void test_DestroyCursor(void)
SetLastError(0xdeadbeef);
ret = DestroyCursor(cursor);
- ok(ret, "DestroyCursor on the active cursor failed.\n");
+ ok(ret || broken(!ret) /* fails on win9x */, "DestroyCursor on the active cursor failed.\n");
error = GetLastError();
ok(error == 0xdeadbeef, "Last error: 0x%08x\n", error);
More information about the wine-cvs
mailing list