mirror of https://github.com/GNOME/gimp.git
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.
This commit is contained in:
parent
3e5cbb03d9
commit
4a20a75dc3
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue