]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Mon, 21 Mar 2011 01:12:28 +0000 (01:12 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Mon, 21 Mar 2011 01:12:28 +0000 (01:12 +0000)
magick/option.c
wand/convert.c
wand/montage.c

index 56d58c957c0f4a21b2d417379e9cfaa5d5cadbc4..fe782314d2f4c8d3e14ad150580f82ce8cccc223 100644 (file)
@@ -307,8 +307,8 @@ static const OptionInfo
     { "-draw", 1L, MagickFalse },
     { "+duplicate", 1L, MagickFalse },
     { "-duplicate", 2L, MagickFalse },
-    { "+duration", 1L, MagickTrue },
-    { "-duration", 1L, MagickTrue },
+    { "+duration", 1L, MagickFalse },
+    { "-duration", 1L, MagickFalse },
     { "+edge", 0L, MagickFalse },
     { "-edge", 1L, MagickFalse },
     { "+emboss", 0L, MagickFalse },
index 976282b6e6f2aed2334c3f975188744650b2e78f..e738edef8438a15ce1c3f2d9173029bfb31eedd3 100644 (file)
@@ -1286,7 +1286,11 @@ WandExport MagickBooleanType ConvertImageCommand(ImageInfo *image_info,
           }
         if (LocaleCompare("duplicate",option+1) == 0)
           {
+            char
+              *scenes;
+
             Image
+              *clone_images,
               *duplicate_images;
 
             long
@@ -1300,11 +1304,11 @@ WandExport MagickBooleanType ConvertImageCommand(ImageInfo *image_info,
             FireImageStack(MagickTrue,MagickTrue,MagickTrue);
             if (*option == '+')
               {
+                scenes="-1";
                 i++;
                 if (i == (ssize_t) (argc-1))
                   ThrowConvertException(OptionError,"MissingArgument",option);
-                count=StringToLong(argv[i+1]);
-                duplicate_images=CloneImages(duplicate_images,"-1",exception);
+                count=StringToLong(argv[i]);
               }
             else
               {
@@ -1313,17 +1317,19 @@ WandExport MagickBooleanType ConvertImageCommand(ImageInfo *image_info,
                   ThrowConvertException(OptionError,"MissingArgument",option);
                 if (IsSceneGeometry(argv[i],MagickFalse) == MagickFalse)
                   ThrowConvertInvalidArgumentException(option,argv[i]);
+                scenes=argv[i];
                 i++;
                 if (i == (ssize_t) (argc-1))
                   ThrowConvertException(OptionError,"MissingArgument",option);
-                count=StringToLong(argv[i+1]);
-                duplicate_images=CloneImages(duplicate_images,argv[i],
-                  exception);
+                count=StringToLong(argv[i]);
               }
-            if (duplicate_images == (Image *) NULL)
-              ThrowConvertException(OptionError,"NoSuchImage",option);
             while (count-- > 0)
-              AppendImageStack(duplicate_images);
+            {
+              clone_images=CloneImages(duplicate_images,scenes,exception);
+              if (clone_images == (Image *) NULL)
+                ThrowConvertException(OptionError,"NoSuchImage",option);
+              AppendImageStack(clone_images);
+            }
             break;
           }
         if (LocaleCompare("duration",option+1) == 0)
index d4b0a08fb181c59c3d0ca7dda0731465760c35bb..0e3307d72bb3a273ab3f7d23e5b0e6752bcf5332 100644 (file)
@@ -842,7 +842,11 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info,
           }
         if (LocaleCompare("duplicate",option+1) == 0)
           {
+            char
+              *scenes;
+
             Image
+              *clone_images,
               *duplicate_images;
 
             long
@@ -856,11 +860,11 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info,
             FireImageStack(MagickTrue,MagickTrue,MagickTrue);
             if (*option == '+')
               {
+                scenes="-1";
                 i++;
                 if (i == (ssize_t) (argc-1))
                   ThrowMontageException(OptionError,"MissingArgument",option);
-                count=StringToLong(argv[i+1]);
-                duplicate_images=CloneImages(duplicate_images,"-1",exception);
+                count=StringToLong(argv[i]);
               }
             else
               {
@@ -869,17 +873,19 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info,
                   ThrowMontageException(OptionError,"MissingArgument",option);
                 if (IsSceneGeometry(argv[i],MagickFalse) == MagickFalse)
                   ThrowMontageInvalidArgumentException(option,argv[i]);
+                scenes=argv[i];
                 i++;
                 if (i == (ssize_t) (argc-1))
-                  ThrowMogridyException(OptionError,"MissingArgument",option);
-                count=StringToLong(argv[i+1]);
-                duplicate_images=CloneImages(duplicate_images,argv[i],
-                  exception);
+                  ThrowMontageException(OptionError,"MissingArgument",option);
+                count=StringToLong(argv[i]);
               }
-            if (duplicate_images == (Image *) NULL)
-              ThrowMontageException(OptionError,"NoSuchImage",option);
             while (count-- > 0)
-              AppendImageStack(duplicate_images);
+            {
+              clone_images=CloneImages(duplicate_images,scenes,exception);
+              if (clone_images == (Image *) NULL)
+                ThrowMontageException(OptionError,"NoSuchImage",option);
+              AppendImageStack(clone_images);
+            }
             break;
           }
         if (LocaleCompare("duration",option+1) == 0)