On Thu, 5 Aug 2021 at 10:06, Ziqing Hui <zhui(a)codeweavers.com> wrote:
static void d2d_effect_cleanup(struct d2d_effect *effect) { + unsigned int i; + + if (effect->inputs) + { + for (i = 0; i < effect->input_count; ++i) + { + if (effect->inputs[i]) + ID2D1Image_Release(effect->inputs[i]); + } + } The "effect->inputs" check should be redundant; if "input_count" is non-zero, "effect->inputs" should be non-NULL.
static void STDMETHODCALLTYPE d2d_effect_SetInput(ID2D1Effect *iface, UINT32 index, ID2D1Image *input, BOOL invalidate) { - FIXME("iface %p, index %u, input %p, invalidate %d stub!\n", iface, index, input, invalidate); + struct d2d_effect *effect = impl_from_ID2D1Effect(iface); + + TRACE("iface %p, index %u, input %p, invalidate %d.\n", iface, index, input, invalidate); + This is already present in the original code, but "%#x" for tracing boolean arguments, please.