Commit 721c520f authored by Eli Zaretskii's avatar Eli Zaretskii

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.
parent b0a0705a
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment