Bug 703806: GIMP crashes when scaling an image
during an image rescale, while spinning the main-loop,
layer-groups preview generation used to start before their
layers were fully rescaled, so it tried to access tiles that
were not yet there
(cherry picked from commit 3cc923d5a5)
This commit is contained in:
parent
588012f48c
commit
cc836e7c84
1 changed files with 10 additions and 1 deletions
|
|
@ -26,6 +26,7 @@
|
|||
#include "gimp.h"
|
||||
#include "gimpcontainer.h"
|
||||
#include "gimpguide.h"
|
||||
#include "gimpgrouplayer.h"
|
||||
#include "gimpimage.h"
|
||||
#include "gimpimage-guides.h"
|
||||
#include "gimpimage-item-list.h"
|
||||
|
|
@ -155,7 +156,10 @@ gimp_image_scale (GimpImage *image,
|
|||
|
||||
/* group layers are updated automatically */
|
||||
if (gimp_viewable_get_children (GIMP_VIEWABLE (item)))
|
||||
continue;
|
||||
{
|
||||
gimp_group_layer_suspend_resize (GIMP_GROUP_LAYER (item), FALSE);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (! gimp_item_scale_by_factors (item,
|
||||
img_scale_w, img_scale_h,
|
||||
|
|
@ -170,6 +174,11 @@ gimp_image_scale (GimpImage *image,
|
|||
}
|
||||
}
|
||||
|
||||
for (list = all_layers; list; list = g_list_next (list))
|
||||
if (gimp_viewable_get_children (list->data))
|
||||
gimp_group_layer_resume_resize (list->data, FALSE);
|
||||
|
||||
|
||||
/* Scale all Guides */
|
||||
for (list = gimp_image_get_guides (image);
|
||||
list;
|
||||
|
|
|
|||
Loading…
Reference in a new issue