[PATCH 1/5] ddraw/tests: Don't leak overlay if DWM cannot be disabled.
Stefan Dösinger
stefan at codeweavers.com
Thu Jan 23 03:45:39 CST 2020
This fixes test_caps on my GeForce 650M Windows 10 machine.
Signed-off-by: Stefan Dösinger <stefan at codeweavers.com>
---
There's a deeper problem with test_caps() though - that this leak causes
it to fail is just a symptom. ddraw reports different caps after creating
a surface, presumably because some internal plugins get loaded. So the
results of test_caps() are potentially misleading.
---
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 c10be66236a..26dd8140e4c 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 8d4d44863a1..8e37243e6c1 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 1a16e2d571e..b6dbd63c885 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 20a1bc5f3af..be6aca2cec9 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);
}
--
2.24.1
More information about the wine-devel
mailing list