[gimp] Issue #3484 - While moving a nested layer group, some area isn't updated
- From: Ell <ell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] Issue #3484 - While moving a nested layer group, some area isn't updated
- Date: Mon, 10 Jun 2019 07:56:15 +0000 (UTC)
commit 4a20a75dc32cf47a9aaa85bbd52f145816467c2a
Author: Ell <ell_se yahoo com>
Date: Mon Jun 10 03:51:14 2019 -0400
Issue #3484 - While moving a nested layer group, some area isn't updated
In gimp_group_layer_translate(), when translating a nested group
layer, call gimp_drawable_update_all() to update the child-layers'
original area *before* updating the group's offset, at which point
the group parent's size is updated, causing subsequent area-updates
during translation to be clipped to the parent's new bounds,
preventing the original areas from being properly cleared.
app/core/gimpgrouplayer.c | 10 ++++++++++
1 file changed, 10 insertions(+)
---
diff --git a/app/core/gimpgrouplayer.c b/app/core/gimpgrouplayer.c
index 347496c350..7468f540ba 100644
--- a/app/core/gimpgrouplayer.c
+++ b/app/core/gimpgrouplayer.c
@@ -790,6 +790,16 @@ gimp_group_layer_translate (GimpLayer *layer,
/* redirect stack updates to the drawable, rather than to the projection */
private->direct_update++;
+ /* if this is a nested group layer, we need to update the child-layers'
+ * original area *before* updating the group's offset. once we update the
+ * group's offset, our parent's size will also be updated, and the
+ * subsequent area-updates of the child layers during translation will be
+ * clipped to the updated parent bounds, potentially failing to update their
+ * original area. see issue #3484.
+ */
+ if (gimp_viewable_get_depth (GIMP_VIEWABLE (group)) > 0)
+ gimp_drawable_update_all (GIMP_DRAWABLE (group));
+
gimp_item_get_offset (GIMP_ITEM (group), &x, &y);
x += offset_x;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]