From: "Haidong Yu" Subject: [PATCH] gdi32: Add missing LeaveCriticalSection. Message-Id: <4d6acc07.1612.174ae59f840.Coremail.yhd986@163.com> Date: Mon, 21 Sep 2020 09:49:25 +0800 (CST) From adc18ee8155b6c74da0f61b16d8f7d90b09fe7d9 Mon Sep 17 00:00:00 2001 From: Haidong Yu Date: Mon, 21 Sep 2020 09:34:28 +0800 Subject: [PATCH] gdi32: Add missing LeaveCriticalSection. Signed-off-by: Haidong Yu --- dlls/gdi32/freetype.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index cf53f148ad..b01ac82540 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -6333,15 +6333,21 @@ static BOOL CDECL freetype_EnumFonts( PHYSDEV dev, LPLOGFONTW plf, FONTENUMPROCW face_list = get_face_list_from_family(family); LIST_FOR_EACH_ENTRY( face, face_list, Face, entry ) { if (!face_matches( family->family_name, face, face_name )) continue; - if (!enum_face_charsets(family, face, &enum_charsets, proc, lparam, psub ? psub->from.name : NULL)) return FALSE; - } - } + if (!enum_face_charsets(family, face, &enum_charsets, proc, lparam, psub ? psub->from.name : NULL)) { + LeaveCriticalSection( &freetype_cs ); + return FALSE; + } + } + } } else { LIST_FOR_EACH_ENTRY( family, &font_list, Family, entry ) { face_list = get_face_list_from_family(family); face = LIST_ENTRY(list_head(face_list), Face, entry); - if (!enum_face_charsets(family, face, &enum_charsets, proc, lparam, NULL)) return FALSE; - } + if (!enum_face_charsets(family, face, &enum_charsets, proc, lparam, NULL)) { + LeaveCriticalSection( &freetype_cs ); + return FALSE; + } + } } LeaveCriticalSection( &freetype_cs ); return TRUE; -- 2.20.1