From 56be505caef56fe0f22618b700b96c13b5ed0033 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sun, 4 May 2014 08:38:44 +0000 Subject: [PATCH] [WIN32K:NTGDI] - Release device context semaphores in failure cases of GreExtTextOutW CORE-8169 #resolve svn path=/trunk/; revision=63142 --- reactos/win32ss/gdi/ntgdi/freetype.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reactos/win32ss/gdi/ntgdi/freetype.c b/reactos/win32ss/gdi/ntgdi/freetype.c index 953b9e4c2be..8172966d594 100644 --- a/reactos/win32ss/gdi/ntgdi/freetype.c +++ b/reactos/win32ss/gdi/ntgdi/freetype.c @@ -3533,6 +3533,7 @@ GreExtTextOutW( { DPRINT1("Failed to load and render glyph! [index: %d]\n", glyph_index); IntUnLockFreeType; + DC_vFinishBlit(dc, NULL); goto fail2; } glyph = face->glyph; @@ -3546,6 +3547,7 @@ GreExtTextOutW( { DPRINT1("Failed to render glyph! [index: %d]\n", glyph_index); IntUnLockFreeType; + DC_vFinishBlit(dc, NULL); goto fail2; } } @@ -3609,6 +3611,7 @@ GreExtTextOutW( DPRINT1("WARNING: EngLockSurface() failed!\n"); // FT_Done_Glyph(realglyph); IntUnLockFreeType; + DC_vFinishBlit(dc, NULL); goto fail2; } SourceGlyphSurf = EngLockSurface((HSURF)HSourceGlyph); @@ -3617,6 +3620,7 @@ GreExtTextOutW( EngDeleteSurface((HSURF)HSourceGlyph); DPRINT1("WARNING: EngLockSurface() failed!\n"); IntUnLockFreeType; + DC_vFinishBlit(dc, NULL); goto fail2; }