From 721c520f36c151a738c47404b498672390139ada Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 18 May 2019 17:44:16 +0300 Subject: [PATCH] Fix display of images on MS-Windows broken by a recent commit * src/image.c (initialize_image_type): Test if the type is in Vlibrary_cache up front, and return true without calling the 'init' method if the type was already initialized. --- src/image.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/image.c b/src/image.c index b82bf12aa5e..071b92a741e 100644 --- a/src/image.c +++ b/src/image.c @@ -9696,15 +9696,15 @@ static bool initialize_image_type (struct image_type const *type) { #ifdef WINDOWSNT - bool (*init) (void) = type->init; + Lisp_Object typesym = builtin_lisp_symbol (type->type); + Lisp_Object tested = Fassq (typesym, Vlibrary_cache); + /* If we failed to load the library before, don't try again. */ + if (CONSP (tested)) + return !NILP (XCDR (tested)) ? true : false; + bool (*init) (void) = type->init; if (init) { - /* If we failed to load the library before, don't try again. */ - Lisp_Object typesym = builtin_lisp_symbol (type->type); - Lisp_Object tested = Fassq (typesym, Vlibrary_cache); - if (CONSP (tested) && NILP (XCDR (tested))) - return false; bool type_valid = init (); Vlibrary_cache = Fcons (Fcons (typesym, type_valid ? Qt : Qnil), Vlibrary_cache); -- 2.39.2