]> granicus.if.org Git - imagemagick/commitdiff
Fixed montageImages.
authordirk <dirk@git.imagemagick.org>
Sun, 6 Apr 2014 00:10:39 +0000 (00:10 +0000)
committerdirk <dirk@git.imagemagick.org>
Sun, 6 Apr 2014 00:10:39 +0000 (00:10 +0000)
Magick++/lib/Magick++/STL.h

index f733d1036b6b2dd35c5e926644c7cfed4331a8aa..c58091d9cd53e2ef23977da323f0474cb29ddfae 100644 (file)
@@ -2393,30 +2393,30 @@ namespace Magick
     // Create linked image list
     linkImages(first_,last_);
 
-    // Reset output container to pristine state
-    montageImages_->clear();
-
     // Do montage
     GetPPException;
     images=MagickCore::MontageImages(first_->image(),montageInfo,
       &exceptionInfo);
+
+    // Unlink linked image list
+    unlinkImages(first_,last_);
+
+    // Reset output container to pristine state
+    montageImages_->clear();
+
     if (images != (MagickCore::Image *) NULL)
       insertImages(montageImages_,images);
 
     // Clean up any allocated data in montageInfo
     MagickCore::DestroyMontageInfo(montageInfo);
 
-    // Unlink linked image list
-    unlinkImages(first_,last_);
-
     // Report any montage error
-    throwException(exceptionInfo);
+    ThrowPPException;
 
     // Apply transparency to montage images
     if (montageImages_->size() > 0 && options_.transparentColor().isValid())
-      for_each(first_,last_,transparentImage(options_.transparentColor()));
-
-    (void) MagickCore::DestroyExceptionInfo(&exceptionInfo);
+      for_each(montageImages_->begin(),montageImages_->end(),transparentImage(
+        options_.transparentColor()));
   }
 
   // Morph a set of images