]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix display of images on MS-Windows broken by a recent commit
authorEli Zaretskii <eliz@gnu.org>
Sat, 18 May 2019 14:44:16 +0000 (17:44 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 18 May 2019 14:44:16 +0000 (17:44 +0300)
* 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

index b82bf12aa5e68339b959ead59d26141ce8e4c96f..071b92a741e166a2e079fa2f8810a8bc46c95d0f 100644 (file)
@@ -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);