diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/image.c | 12 |
1 files 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 | |||
| 9696 | initialize_image_type (struct image_type const *type) | 9696 | initialize_image_type (struct image_type const *type) |
| 9697 | { | 9697 | { |
| 9698 | #ifdef WINDOWSNT | 9698 | #ifdef WINDOWSNT |
| 9699 | bool (*init) (void) = type->init; | 9699 | Lisp_Object typesym = builtin_lisp_symbol (type->type); |
| 9700 | Lisp_Object tested = Fassq (typesym, Vlibrary_cache); | ||
| 9701 | /* If we failed to load the library before, don't try again. */ | ||
| 9702 | if (CONSP (tested)) | ||
| 9703 | return !NILP (XCDR (tested)) ? true : false; | ||
| 9700 | 9704 | ||
| 9705 | bool (*init) (void) = type->init; | ||
| 9701 | if (init) | 9706 | if (init) |
| 9702 | { | 9707 | { |
| 9703 | /* If we failed to load the library before, don't try again. */ | ||
| 9704 | Lisp_Object typesym = builtin_lisp_symbol (type->type); | ||
| 9705 | Lisp_Object tested = Fassq (typesym, Vlibrary_cache); | ||
| 9706 | if (CONSP (tested) && NILP (XCDR (tested))) | ||
| 9707 | return false; | ||
| 9708 | bool type_valid = init (); | 9708 | bool type_valid = init (); |
| 9709 | Vlibrary_cache = Fcons (Fcons (typesym, type_valid ? Qt : Qnil), | 9709 | Vlibrary_cache = Fcons (Fcons (typesym, type_valid ? Qt : Qnil), |
| 9710 | Vlibrary_cache); | 9710 | Vlibrary_cache); |