]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Mon, 22 Sep 2014 23:46:21 +0000 (23:46 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Mon, 22 Sep 2014 23:46:21 +0000 (23:46 +0000)
MagickCore/quantize.c

index e004e1e7c6a01bcad7ef63ca88ddf42bf682d69d..a2280eccb60285b0df2b7fa7aec060090988e2ab 100644 (file)
@@ -3154,10 +3154,16 @@ static void ReduceImageColors(const Image *image,CubeInfo *cube_info)
   }
   for (span=cube_info->colors; cube_info->colors > cube_info->maximum_colors; )
   {
+    size_t
+      colors;
+
     cube_info->pruning_threshold=cube_info->next_threshold;
     cube_info->next_threshold=cube_info->root->quantize_error-1;
+    colors=cube_info->colors;
     cube_info->colors=0;
     Reduce(image,cube_info,cube_info->root);
+    if (cube_info->colors >= colors)
+      PruneLevel(image,cube_info,cube_info->root);
     offset=(MagickOffsetType) span-cube_info->colors;
     proceed=SetImageProgress(image,ReduceImageTag,offset,span-
       cube_info->maximum_colors+1);