Module: wine Branch: master Commit: c6a40ff64ff910a613c40ce1e7ab02f24be2ca3c URL: https://source.winehq.org/git/wine.git/?a=commit;h=c6a40ff64ff910a613c40ce1e...
Author: Ziqing Hui zhui@codeweavers.com Date: Tue Jul 20 16:16:09 2021 +0200
d2d1: Implement d2d_effect_GetOutput().
Signed-off-by: Ziqing Hui zhui@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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);