]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 13 Mar 2012 13:01:27 +0000 (13:01 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 13 Mar 2012 13:01:27 +0000 (13:01 +0000)
MagickCore/channel.c

index b0f13a685a1fca66cc22cd81c723f48836de24f9..dd236d7bff6d7074b6b1e0507dbca4e2ab86149e 100644 (file)
@@ -241,7 +241,7 @@ MagickExport Image *ChannelFxImage(const Image *image,const char *expression,
   p=(char *) expression;
   GetMagickToken(p,&p,token);
   channel_op=ExtractChannelOp;
-  for (channels=0; *p != '\0'; )
+  for (channels=0; *token != '\0'; )
   {
     ssize_t
       i;
@@ -267,17 +267,17 @@ MagickExport Image *ChannelFxImage(const Image *image,const char *expression,
         Image
           *canvas;
 
+        if ((channel_op == ExtractChannelOp) && (channels == 1))
+          {
+            destination_image->colorspace=GRAYColorspace;
+            InitializePixelChannelMap(destination_image);
+          }
         status=SetImageStorageClass(destination_image,DirectClass,exception);
         if (status == MagickFalse)
           {
             destination_image=DestroyImageList(destination_image);
             return(destination_image);
           }
-        if ((channel_op == ExtractChannelOp) && (channels == 1))
-          {
-            destination_image->colorspace=GRAYColorspace;
-            InitializePixelChannelMap(destination_image);
-          }
         canvas=CloneImage(source_image,0,0,MagickTrue,exception);
         if (canvas == (Image *) NULL)
           {
@@ -370,18 +370,18 @@ MagickExport Image *ChannelFxImage(const Image *image,const char *expression,
     if (status == MagickFalse)
       break;
   }
+  if ((channel_op == ExtractChannelOp) && (channels == 1))
+    {
+      destination_image->colorspace=GRAYColorspace;
+      InitializePixelChannelMap(destination_image);
+    }
   status=SetImageStorageClass(destination_image,DirectClass,exception);
   if (status == MagickFalse)
     {
       destination_image=GetLastImageInList(destination_image);
       return((Image *) NULL);
     }
-  if ((channel_op == ExtractChannelOp) && (channels == 1))
-    {
-      destination_image->colorspace=GRAYColorspace;
-      InitializePixelChannelMap(destination_image);
-    }
-  return(destination_image);
+  return(GetFirstImageInList(destination_image));
 }
 \f
 /*