Stefan Dösinger : ddraw/tests: Don't leak overlay if DWM cannot be disabled.

Alexandre Julliard julliard at winehq.org
Fri Jan 24 16:14:10 CST 2020


Module: wine
Branch: master
Commit: ed33ddd4522e8acc4c113edf54e811461803b0ea
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ed33ddd4522e8acc4c113edf54e811461803b0ea

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Thu Jan 23 10:45:39 2020 +0100

ddraw/tests: Don't leak overlay if DWM cannot be disabled.

This fixes test_caps on my GeForce 650M Windows 10 machine.

Signed-off-by: Stefan Dösinger <stefan at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ddraw/tests/ddraw1.c | 3 ++-
 dlls/ddraw/tests/ddraw2.c | 3 ++-
 dlls/ddraw/tests/ddraw4.c | 3 ++-
 dlls/ddraw/tests/ddraw7.c | 3 ++-
 4 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
index c10be66236..26dd8140e4 100644
--- a/dlls/ddraw/tests/ddraw1.c
+++ b/dlls/ddraw/tests/ddraw1.c
@@ -9478,10 +9478,11 @@ static void test_overlay_rect(void)
     ok(!pos_x, "Got unexpected pos_x %d.\n", pos_x);
     ok(!pos_y, "Got unexpected pos_y %d.\n", pos_y);
 
-    IDirectDrawSurface_Release(overlay);
 done:
     if (primary)
         IDirectDrawSurface_Release(primary);
+    if (overlay)
+        IDirectDrawSurface_Release(overlay);
     IDirectDraw_Release(ddraw);
     DestroyWindow(window);
 }
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c
index 8d4d44863a..8e37243e6c 100644
--- a/dlls/ddraw/tests/ddraw2.c
+++ b/dlls/ddraw/tests/ddraw2.c
@@ -10180,10 +10180,11 @@ static void test_overlay_rect(void)
     ok(!pos_x, "Got unexpected pos_x %d.\n", pos_x);
     ok(!pos_y, "Got unexpected pos_y %d.\n", pos_y);
 
-    IDirectDrawSurface_Release(overlay);
 done:
     if (primary)
         IDirectDrawSurface_Release(primary);
+    if (overlay)
+        IDirectDrawSurface_Release(overlay);
     IDirectDraw2_Release(ddraw);
     DestroyWindow(window);
 }
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
index 1a16e2d571..b6dbd63c88 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -12058,10 +12058,11 @@ static void test_overlay_rect(void)
     ok(!pos_x, "Got unexpected pos_x %d.\n", pos_x);
     ok(!pos_y, "Got unexpected pos_y %d.\n", pos_y);
 
-    IDirectDrawSurface4_Release(overlay);
 done:
     if (primary)
         IDirectDrawSurface4_Release(primary);
+    if (overlay)
+        IDirectDrawSurface4_Release(overlay);
     IDirectDraw4_Release(ddraw);
     DestroyWindow(window);
 }
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index 20a1bc5f3a..be6aca2cec 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -12049,10 +12049,11 @@ static void test_overlay_rect(void)
     ok(!pos_x, "Got unexpected pos_x %d.\n", pos_x);
     ok(!pos_y, "Got unexpected pos_y %d.\n", pos_y);
 
-    IDirectDrawSurface7_Release(overlay);
 done:
     if (primary)
         IDirectDrawSurface7_Release(primary);
+    if (overlay)
+        IDirectDrawSurface7_Release(overlay);
     IDirectDraw7_Release(ddraw);
     DestroyWindow(window);
 }




More information about the wine-cvs mailing list