[PATCH 5/5] d2d1/effect: Implement GetValueSize().

Ziqing Hui zhui at codeweavers.com
Wed Jun 22 06:35:00 CDT 2022


Signed-off-by: Ziqing Hui <zhui at codeweavers.com>
---
 dlls/d2d1/effect.c     | 8 +++++++-
 dlls/d2d1/tests/d2d1.c | 5 ++++-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/dlls/d2d1/effect.c b/dlls/d2d1/effect.c
index e0c028664d7..139095bae09 100644
--- a/dlls/d2d1/effect.c
+++ b/dlls/d2d1/effect.c
@@ -639,7 +639,13 @@ static HRESULT STDMETHODCALLTYPE d2d_effect_GetValue(ID2D1Effect *iface, UINT32
 
 static UINT32 STDMETHODCALLTYPE d2d_effect_GetValueSize(ID2D1Effect *iface, UINT32 index)
 {
-    FIXME("iface %p, index %u stub!\n", iface, index);
+    struct d2d_effect *effect = impl_from_ID2D1Effect(iface);
+    struct d2d_effect_property *property;
+
+    TRACE("iface %p, index %u.\n", iface, index);
+
+    if ((property = d2d_effect_get_property(effect, index)))
+        return d2d_effect_property_get_value_size(property);
 
     return 0;
 }
diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c
index 2f3b4add386..f86af6ec1bd 100644
--- a/dlls/d2d1/tests/d2d1.c
+++ b/dlls/d2d1/tests/d2d1.c
@@ -10435,7 +10435,10 @@ static void test_builtin_effect(BOOL d3d11)
             value_size = ID2D1Effect_GetValueSize(effect, property_test->index);
             if (property_test->value_size != 0)
             {
-                todo_wine ok(value_size == property_test->value_size, "Got unexpected value size %u, expected %u.\n",
+                todo_wine_if(property_test->index != D2D1_PROPERTY_CLSID &&
+                        property_test->index != D2D1_PROPERTY_MIN_INPUTS &&
+                        property_test->index != D2D1_PROPERTY_MAX_INPUTS)
+                ok(value_size == property_test->value_size, "Got unexpected value size %u, expected %u.\n",
                         value_size, property_test->value_size);
             }
             else if (property_test->type == D2D1_PROPERTY_TYPE_STRING)
-- 
2.25.1




More information about the wine-devel mailing list