From e7094551fe8f7e024e2e627ab7d3732bf8899d24 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Tue, 2 Feb 2016 01:41:12 +0300 Subject: [PATCH] dwrite: Release drawing effect after trimming sign Draw(). Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- dlls/dwrite/layout.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c index 93c9c7b58d8..93d096d5757 100644 --- a/dlls/dwrite/layout.c +++ b/dlls/dwrite/layout.c @@ -4467,11 +4467,14 @@ static HRESULT WINAPI dwritetrimmingsign_Draw(IDWriteInlineObject *iface, void * { struct dwrite_trimmingsign *This = impl_from_IDWriteInlineObject(iface); DWRITE_TEXT_RANGE range = { 0, ~0u }; + HRESULT hr; TRACE("(%p)->(%p %p %.2f %.2f %d %d %p)\n", This, context, renderer, originX, originY, is_sideways, is_rtl, effect); IDWriteTextLayout_SetDrawingEffect(This->layout, effect, range); - return IDWriteTextLayout_Draw(This->layout, context, renderer, originX, originY); + hr = IDWriteTextLayout_Draw(This->layout, context, renderer, originX, originY); + IDWriteTextLayout_SetDrawingEffect(This->layout, NULL, range); + return hr; } static HRESULT WINAPI dwritetrimmingsign_GetMetrics(IDWriteInlineObject *iface, DWRITE_INLINE_OBJECT_METRICS *ret)