]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sat, 21 Apr 2012 18:58:21 +0000 (18:58 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sat, 21 Apr 2012 18:58:21 +0000 (18:58 +0000)
MagickCore/constitute.c
config/english.xml
config/francais.xml

index 4cc6d529a8c0a42f8bff23815c4514d0b597d212..cdb18542eb8d613690121cf65a47693d3ba46140 100644 (file)
@@ -521,6 +521,17 @@ MagickExport Image *ReadImage(const ImageInfo *image_info,
   image=NewImageList();
   if (constitute_semaphore == (SemaphoreInfo *) NULL)
     AcquireSemaphoreInfo(&constitute_semaphore);
+  if ((magick_info == (const MagickInfo *) NULL) ||
+      (GetImageDecoder(magick_info) == (DecodeImageHandler *) NULL))
+    {
+      delegate_info=GetDelegateInfo(read_info->magick,(char *) NULL,exception);
+      if (delegate_info == (const DelegateInfo *) NULL)
+        {
+          (void) SetImageInfo(read_info,0,exception);
+          (void) CopyMagickString(read_info->filename,filename,MaxTextExtent);
+          magick_info=GetMagickInfo(read_info->magick,exception);
+        }
+    }
   if ((magick_info != (const MagickInfo *) NULL) &&
       (GetImageDecoder(magick_info) != (DecodeImageHandler *) NULL))
     {
@@ -1184,10 +1195,20 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info,
             }
           if ((magick_info == (const MagickInfo *) NULL) ||
               (GetImageEncoder(magick_info) == (EncodeImageHandler *) NULL))
-            (void) ThrowMagickException(exception,GetMagickModule(),
-              MissingDelegateError,"NoEncodeDelegateForThisImageFormat","'%s'",
-              image->filename);
-          else
+            {
+              magick_info=GetMagickInfo(image->magick,exception);
+              if ((magick_info == (const MagickInfo *) NULL) ||
+                  (GetImageEncoder(magick_info) == (EncodeImageHandler *) NULL))
+                (void) ThrowMagickException(exception,GetMagickModule(),
+                  MissingDelegateError,"NoEncodeDelegateForThisImageFormat",
+                  "'%s'",image->filename);
+              else
+                (void) ThrowMagickException(exception,GetMagickModule(),
+                  MissingDelegateWarning,"NoEncodeDelegateForThisImageFormat",
+                  "'%s'",image->filename);
+            }
+          if ((magick_info != (const MagickInfo *) NULL) &&
+              (GetImageEncoder(magick_info) != (EncodeImageHandler *) NULL))
             {
               /*
                 Call appropriate image writer based on image type.
index da5a7f8b6b7790af2a9f401265e93d18bbd2aacf..caaeedd50620be906585ed6c8f0d0aa0120ec983 100644 (file)
           <message name="LCMSLibraryIsNotAvailable">
             LCMS color profile library is not available
           </message>
+          <message name="NoEncodeDelegateForThisImageFormat">
+            no encode delegate for this image format
+          </message>
         </warning>
       </delegate>
     </missing>
index eecbb1dd7b3d9ce18fc3bd433ee01912f1b640ea..4b24790aceb0ad4c06910c630ad5828121325329 100644 (file)
           <message name="DelegateLibrarySupportNotBuiltIn">
             delegate library support not built-in
           </message>
+          <message name="NoEncodeDelegateForThisImageFormat">
+            pas de délégué pour encoder ce format d'image
+          </message>
         </warning>
       </delegate>
     </missing>