[gimp] app: when removing groups, check if the active item was in the group
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: when removing groups, check if the active item was in the group
- Date: Mon, 14 Feb 2011 00:27:01 +0000 (UTC)
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]