[gimp/gimp-2-10] 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/gimp-2-10] Issue #3484 - While moving a nested layer group, some area isn't updated
- Date: Mon, 10 Jun 2019 07:56:05 +0000 (UTC)
commit 9c8e1704c4d06adcce3530062395051c79485049
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.
(cherry picked from commit 4a20a75dc32cf47a9aaa85bbd52f145816467c2a)
app/core/gimpgrouplayer.c | 10 ++++++++++
1 file changed, 10 insertions(+)
---
diff --git a/app/core/gimpgrouplayer.c b/app/core/gimpgrouplayer.c
index 20b0db9163..471fb157c8 100644
--- a/app/core/gimpgrouplayer.c
+++ b/app/core/gimpgrouplayer.c
@@ -789,6 +789,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]