[PATCH 3/3] ddraw/tests: WARP returns SURFACELOST when flipping a surface in normal mode.

Stefan Dösinger stefan at codeweavers.com
Sat Feb 15 08:24:36 CST 2020


Signed-off-by: Stefan Dösinger <stefan at codeweavers.com>

---

ddraw2-7 don't need to be changed because they already expect this result
as the normal case. It's ddraw1 that begs to differ in a weird way and WARP
does the "correct" thing that matches later versions.
---
 dlls/ddraw/tests/ddraw1.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
index ca64d3e6c88..98b83334122 100644
--- a/dlls/ddraw/tests/ddraw1.c
+++ b/dlls/ddraw/tests/ddraw1.c
@@ -7314,7 +7314,8 @@ static void test_lost_device(void)
     hr = IDirectDrawSurface_IsLost(surface);
     ok(hr == DD_OK, "Got unexpected hr %#x.\n", hr);
     hr = IDirectDrawSurface_Flip(surface, NULL, DDFLIP_WAIT);
-    ok(hr == DDERR_NOEXCLUSIVEMODE, "Got unexpected hr %#x.\n", hr);
+    ok(hr == DDERR_NOEXCLUSIVEMODE || broken(ddraw_is_warp(ddraw) && hr == DDERR_SURFACELOST),
+            "Got unexpected hr %#x.\n", hr);
 
     /* Trying to restore the primary will crash, probably because flippable
      * surfaces can't exist in DDSCL_NORMAL. */
-- 
2.24.1




More information about the wine-devel mailing list