[gimp] Update the layer stack in gimp_image_active_layer_notify()



commit 052dcd016400563d3a281df832899f27fc9e9051
Author: Michael Natterer <mitch gimp org>
Date:   Mon Feb 8 10:39:44 2010 +0100

    Update the layer stack in gimp_image_active_layer_notify()
    
    instead of in gimp_image_set_active_layer()

 app/core/gimpimage.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)
---
diff --git a/app/core/gimpimage.c b/app/core/gimpimage.c
index e352441..237b656 100644
--- a/app/core/gimpimage.c
+++ b/app/core/gimpimage.c
@@ -1384,7 +1384,15 @@ gimp_image_active_layer_notify (GimpItemTree     *tree,
                                 const GParamSpec *pspec,
                                 GimpImage        *image)
 {
-  GimpLayer *layer = gimp_image_get_active_layer (image);
+  GimpImagePrivate *private = GIMP_IMAGE_GET_PRIVATE (image);
+  GimpLayer        *layer   = gimp_image_get_active_layer (image);
+
+  if (layer)
+    {
+      /*  Configure the layer stack to reflect this change  */
+      private->layer_stack = g_slist_remove (private->layer_stack, layer);
+      private->layer_stack = g_slist_prepend (private->layer_stack, layer);
+    }
 
   g_signal_emit (image, gimp_image_signals[ACTIVE_LAYER_CHANGED], 0);
 
@@ -3131,13 +3139,6 @@ gimp_image_set_active_layer (GimpImage *image,
 
   if (layer != active_layer)
     {
-      if (layer)
-        {
-          /*  Configure the layer stack to reflect this change  */
-          private->layer_stack = g_slist_remove (private->layer_stack, layer);
-          private->layer_stack = g_slist_prepend (private->layer_stack, layer);
-        }
-
       /*  Don't cache selection info for the previous active layer  */
       if (active_layer)
         gimp_drawable_invalidate_boundary (GIMP_DRAWABLE (active_layer));



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