[gimp] app: when removing groups, check if the active item was in the group



commit 9f89bda3b113a8d5020aceda1562c4eff08eb78b
Author: Michael Natterer <mitch gimp org>
Date:   Mon Feb 14 01:25:45 2011 +0100

    app: when removing groups, check if the active item was in the group
    
    and set a new active item.

 app/core/gimpimage.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/app/core/gimpimage.c b/app/core/gimpimage.c
index 764443b..27f6595 100644
--- a/app/core/gimpimage.c
+++ b/app/core/gimpimage.c
@@ -3692,7 +3692,9 @@ gimp_image_remove_layer (GimpImage *image,
        */
       floating_sel_activate_drawable (layer);
     }
-  else if (layer == active_layer)
+  else if (layer == active_layer ||
+           gimp_viewable_is_ancestor (GIMP_VIEWABLE (layer),
+                                      GIMP_VIEWABLE (active_layer)))
     {
       gimp_image_set_active_layer (image, new_active);
     }
@@ -3864,7 +3866,9 @@ gimp_image_remove_channel (GimpImage   *image,
                                               GIMP_ITEM (channel),
                                               GIMP_ITEM (new_active)));
 
-  if (channel == active_channel)
+  if (channel == active_channel ||
+      gimp_viewable_is_ancestor (GIMP_VIEWABLE (channel),
+                                 GIMP_VIEWABLE (active_channel)))
     {
       if (new_active)
         gimp_image_set_active_channel (image, new_active);
@@ -3946,8 +3950,12 @@ gimp_image_remove_vectors (GimpImage   *image,
                                               GIMP_ITEM (vectors),
                                               GIMP_ITEM (new_active)));
 
-  if (vectors == active_vectors)
-    gimp_image_set_active_vectors (image, new_active);
+  if (vectors == active_vectors ||
+      gimp_viewable_is_ancestor (GIMP_VIEWABLE (vectors),
+                                 GIMP_VIEWABLE (active_vectors)))
+    {
+      gimp_image_set_active_vectors (image, new_active);
+    }
 
   g_object_unref (vectors);
 }



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