*app/undo.c: GimpChannel->bounds_known field on the image Selection Mask

2000-01-05  Garry R. Osgood <gosgood@idt.net>
*app/undo.c: GimpChannel->bounds_known field on the
image Selection Mask channel was never invalidated when restored
via undo_pop_channel_mod(). Caused PixelRegion iterators calculating
new selection boundaries to use cached image dimensions, thereby
trying to access tiles non-existent in the scaled-down image.
Closes #4840.
This commit is contained in:
Garry R. Osgood 2000-01-05 19:14:08 +00:00 committed by Garry R. Osgood
parent ee6ad0e212
commit ef3489560b
3 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,13 @@
2000-01-05 Garry R. Osgood <gosgood@idt.net>
*app/undo.c: GimpChannel->bounds_known field on the
image Selection Mask channel was never invalidated when restored
via undo_pop_channel_mod(). Caused PixelRegion iterators calculating
new selection boundaries to use cached image dimensions, thereby
trying to access tiles non-existent in the scaled-down image.
Closes #4840; see the resolution report for that bug for more
information. See #4980, which created selection mask artifacts
leading up to the incurring of this bug.
2000-01-05 Michael Natterer <mitch@gimp.org>
* app/gimphelp.[ch]: removed most functions. Show the help page in

View File

@ -1868,6 +1868,8 @@ undo_pop_channel_mod (GImage *gimage,
GIMP_DRAWABLE(channel)->tiles = tiles;
GIMP_DRAWABLE(channel)->width = tiles->width;
GIMP_DRAWABLE(channel)->height = tiles->height;
GIMP_CHANNEL(channel)->bounds_known = FALSE; /* #4840. set to False because bounds
reflect previous tile set */
/* Set the new buffer */
data[1] = temp;

View File

@ -1868,6 +1868,8 @@ undo_pop_channel_mod (GImage *gimage,
GIMP_DRAWABLE(channel)->tiles = tiles;
GIMP_DRAWABLE(channel)->width = tiles->width;
GIMP_DRAWABLE(channel)->height = tiles->height;
GIMP_CHANNEL(channel)->bounds_known = FALSE; /* #4840. set to False because bounds
reflect previous tile set */
/* Set the new buffer */
data[1] = temp;