[PATCH 4/4] d2d1: Implement d2d_effect_GetOutput().

Henri Verbeet hverbeet at codeweavers.com
Tue Jul 20 09:16:09 CDT 2021


From: Ziqing Hui <zhui at codeweavers.com>

Signed-off-by: Ziqing Hui <zhui at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
This supersedes patch 209629.

 dlls/d2d1/effect.c     | 6 +++++-
 dlls/d2d1/tests/d2d1.c | 7 +++----
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/dlls/d2d1/effect.c b/dlls/d2d1/effect.c
index 7487c4c4539..40dd2187953 100644
--- a/dlls/d2d1/effect.c
+++ b/dlls/d2d1/effect.c
@@ -190,7 +190,11 @@ static UINT32 STDMETHODCALLTYPE d2d_effect_GetInputCount(ID2D1Effect *iface)
 
 static void STDMETHODCALLTYPE d2d_effect_GetOutput(ID2D1Effect *iface, ID2D1Image **output)
 {
-    FIXME("iface %p, output %p stub!\n", iface, output);
+    struct d2d_effect *effect = impl_from_ID2D1Effect(iface);
+
+    TRACE("iface %p, output %p.\n", iface, output);
+
+    ID2D1Image_AddRef(*output = &effect->ID2D1Image_iface);
 }
 
 static const ID2D1EffectVtbl d2d_effect_vtbl =
diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c
index 5ac4aed7c4c..1ee4941da99 100644
--- a/dlls/d2d1/tests/d2d1.c
+++ b/dlls/d2d1/tests/d2d1.c
@@ -9680,7 +9680,7 @@ static void test_mt_factory(BOOL d3d11)
 
 static void test_effect(BOOL d3d11)
 {
-    ID2D1Image *image_a, *image_b = NULL;
+    ID2D1Image *image_a, *image_b;
     struct d2d1_test_context ctx;
     ID2D1DeviceContext *context;
     ID2D1Factory1 *factory;
@@ -9705,9 +9705,8 @@ static void test_effect(BOOL d3d11)
     hr = ID2D1Effect_QueryInterface(effect, &IID_ID2D1Image, (void **)&image_a);
     ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
     ID2D1Effect_GetOutput(effect, &image_b);
-    todo_wine ok(image_b == image_a, "Got unexpected image_b %p, expected %p.\n", image_b, image_a);
-    if (image_b)
-        ID2D1Image_Release(image_b);
+    ok(image_b == image_a, "Got unexpected image_b %p, expected %p.\n", image_b, image_a);
+    ID2D1Image_Release(image_b);
     ID2D1Image_Release(image_a);
 
     ID2D1Effect_Release(effect);
-- 
2.20.1




More information about the wine-devel mailing list