[gimp] app: fix GIMP_NEW_OVERLAY_MODE in gimp_image_get_xcf_version()



commit 1b99f57e4711dfdd3ac3f9f7422e163283032154
Author: Michael Natterer <mitch gimp org>
Date:   Thu Oct 29 08:16:44 2015 +0100

    app: fix GIMP_NEW_OVERLAY_MODE in gimp_image_get_xcf_version()
    
    Don't abort the layer checking loop too early, and make sure to
    iterate all layers, not just the toplevel. Spotted by Jonathan Tait.

 app/core/gimpimage.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/app/core/gimpimage.c b/app/core/gimpimage.c
index 087c939..ac44c29 100644
--- a/app/core/gimpimage.c
+++ b/app/core/gimpimage.c
@@ -2281,6 +2281,7 @@ gimp_image_get_xcf_version (GimpImage    *image,
                             gint         *gimp_version,
                             const gchar **version_string)
 {
+  GList *layers;
   GList *list;
   gint   version = 0;  /* default to oldest */
 
@@ -2288,9 +2289,9 @@ gimp_image_get_xcf_version (GimpImage    *image,
   if (gimp_image_get_colormap (image))
     version = 1;
 
-  for (list = gimp_image_get_layer_iter (image);
-       list && version < 3;
-       list = g_list_next (list))
+  layers = gimp_image_get_layer_list (image);
+
+  for (list = layers; list; list = g_list_next (list))
     {
       GimpLayer *layer = GIMP_LAYER (list->data);
 
@@ -2318,6 +2319,8 @@ gimp_image_get_xcf_version (GimpImage    *image,
         version = MAX (3, version);
     }
 
+  g_list_free (layers);
+
   /* need version 6 for new metadata */
   if (gimp_image_get_metadata (image))
     version = MAX (6, version);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]