Ziqing Hui : d2d1: Implement d2d_effect_GetInput().

Alexandre Julliard julliard at winehq.org
Mon Aug 9 16:21:43 CDT 2021


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

Author: Ziqing Hui <zhui at codeweavers.com>
Date:   Sun Aug  8 12:40:36 2021 +0800

d2d1: Implement d2d_effect_GetInput().

Signed-off-by: Ziqing Hui <zhui at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

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

diff --git a/dlls/d2d1/effect.c b/dlls/d2d1/effect.c
index 951ad9c5101..560d87479a9 100644
--- a/dlls/d2d1/effect.c
+++ b/dlls/d2d1/effect.c
@@ -214,7 +214,14 @@ static HRESULT STDMETHODCALLTYPE d2d_effect_SetInputCount(ID2D1Effect *iface, UI
 
 static void STDMETHODCALLTYPE d2d_effect_GetInput(ID2D1Effect *iface, UINT32 index, ID2D1Image **input)
 {
-    FIXME("iface %p, index %u, input %p stub!\n", iface, index, input);
+    struct d2d_effect *effect = impl_from_ID2D1Effect(iface);
+
+    TRACE("iface %p, index %u, input %p.\n", iface, index, input);
+
+    if (index < effect->input_count && effect->inputs[index])
+        ID2D1Image_AddRef(*input = effect->inputs[index]);
+    else
+        *input = NULL;
 }
 
 static UINT32 STDMETHODCALLTYPE d2d_effect_GetInputCount(ID2D1Effect *iface)
diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c
index 36882dc4918..a6f7ac88d0d 100644
--- a/dlls/d2d1/tests/d2d1.c
+++ b/dlls/d2d1/tests/d2d1.c
@@ -9824,7 +9824,6 @@ static void test_effect(BOOL d3d11)
         {
             winetest_push_context("Input %u", j);
             ID2D1Effect_GetInput(effect, j, &image_a);
-            todo_wine
             ok(image_a == NULL, "Got unexpected image_a %p.\n", image_a);
             winetest_pop_context();
         }
@@ -9845,14 +9844,11 @@ static void test_effect(BOOL d3d11)
             ID2D1Effect_GetInput(effect, j, &image_a);
             if (j == 0)
             {
-                todo_wine
                 ok(image_a == (ID2D1Image *)bitmap, "Got unexpected image_a %p.\n", image_a);
-                if (image_a == (ID2D1Image *)bitmap)
-                    ID2D1Image_Release(image_a);
+                ID2D1Image_Release(image_a);
             }
             else
             {
-                todo_wine
                 ok(image_a == NULL, "Got unexpected image_a %p.\n", image_a);
             }
             winetest_pop_context();
@@ -9864,7 +9860,6 @@ static void test_effect(BOOL d3d11)
             image_a = (ID2D1Image *)0xdeadbeef;
             ID2D1Effect_SetInput(effect, j, (ID2D1Image *)bitmap, FALSE);
             ID2D1Effect_GetInput(effect, j, &image_a);
-            todo_wine
             ok(image_a == NULL, "Got unexpected image_a %p.\n", image_a);
             winetest_pop_context();
         }




More information about the wine-cvs mailing list