[PATCH v2] gdi32/tests: MoveToEx() does not return the old point.

Francois Gouget fgouget at codeweavers.com
Thu Nov 21 10:22:29 CST 2019


This behavior goes back to at least Windows XP.

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---

v2: Added the todo_wine since it does not match the Windows behavior.
    An alternative would be to mark the Windows behavior as broken. 
    There's a good argument to be made about it since it does not match 
    the documentation. But then the documentation is known to often be 
    wrong and Windows' behavior has not wavered since Windows XP so it's 
    not like this behavior is a bug that will be fixed. This is why I 
    opted for documenting the Windows behavior and showing that Wine 
    diverges.

 dlls/gdi32/tests/metafile.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/dlls/gdi32/tests/metafile.c b/dlls/gdi32/tests/metafile.c
index 6adafa37b82..3d0e45e10a6 100644
--- a/dlls/gdi32/tests/metafile.c
+++ b/dlls/gdi32/tests/metafile.c
@@ -2262,16 +2262,15 @@ static void test_mf_Graphics(void)
     ok( ret, "MoveToEx error %d.\n", GetLastError());
     ret = LineTo(hdcMetafile, 2, 2);
     ok( ret, "LineTo error %d.\n", GetLastError());
+    oldpoint.x = oldpoint.y = 11235;
     ret = MoveToEx(hdcMetafile, 1, 1, &oldpoint);
     ok( ret, "MoveToEx error %d.\n", GetLastError());
-
-/* oldpoint gets garbage under Win XP, so the following test would
- * work under Wine but fails under Windows:
- *
- *   ok((oldpoint.x == 2) && (oldpoint.y == 2),
- *       "MoveToEx: (x, y) = (%ld, %ld), should be (2, 2).\n",
- *       oldpoint.x, oldpoint.y);
- */
+    /* Windows 9x and older may have returned oldpoint as per the
+     * documentation. But Windows >= XP does not.
+     */
+    todo_wine ok(broken(oldpoint.x == 11235 && oldpoint.y == 11235),
+       "MoveToEx: oldpoint = (%d, %d), should be (11235, 11235).\n",
+       oldpoint.x, oldpoint.y);
 
     ret = Ellipse(hdcMetafile, 0, 0, 2, 2);
     ok( ret, "Ellipse error %d.\n", GetLastError());
-- 
2.20.1



More information about the wine-devel mailing list