]> git.eshelyaron.com Git - emacs.git/commitdiff
imagemagick-types needs to initialize ImageMagick
authorDhruva Krishnamurthy <dhruvakm@gmail.com>
Tue, 24 Dec 2019 01:20:06 +0000 (17:20 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 24 Dec 2019 01:20:47 +0000 (17:20 -0800)
* src/image.c (imagemagick_initialize): New function,
with body taken from imagemagick_load_image.
(imagemagick_load_image, Fimagemagick_types): Use it.
Copyright-paperwork-exempt: yes

src/image.c

index 70d932f9edbbbfc078ef0cca2e9ec7541c5817bb..fc90c5ea74b2d06374fe00214adcd55be1bef0c6 100644 (file)
@@ -8603,6 +8603,17 @@ extern WandExport void PixelGetMagickColor (const PixelWand *,
                                            MagickPixelPacket *);
 #endif
 
+static void
+imagemagick_initialize (void)
+{
+  static bool imagemagick_initialized;
+  if (!imagemagick_initialized)
+    {
+      imagemagick_initialized = true;
+      MagickWandGenesis ();
+    }
+}
+
 /* Log ImageMagick error message.
    Useful when an ImageMagick function returns the status `MagickFalse'.  */
 
@@ -8874,14 +8885,7 @@ imagemagick_load_image (struct frame *f, struct image *img,
   double rotation;
   char hint_buffer[MaxTextExtent];
   char *filename_hint = NULL;
-
-  /* Initialize the ImageMagick environment.  */
-  static bool imagemagick_initialized;
-  if (!imagemagick_initialized)
-    {
-      imagemagick_initialized = true;
-      MagickWandGenesis ();
-    }
+  imagemagick_initialize ();
 
   /* Handle image index for image types who can contain more than one image.
      Interface :index is same as for GIF.  First we "ping" the image to see how
@@ -9290,6 +9294,7 @@ and `imagemagick-types-inhibit'.  */)
   char **imtypes;
   size_t i;
 
+  imagemagick_initialize ();
   ex = AcquireExceptionInfo ();
   imtypes = GetMagickList ("*", &numf, ex);
   DestroyExceptionInfo (ex);