mirror of https://github.com/GNOME/gimp.git
if the invalided tile is the cached tile, release the cached tile. Fixes
2007-05-16 Sven Neumann <sven@gimp.org> * app/base/tile-manager.c (tile_invalidate): if the invalided tile is the cached tile, release the cached tile. Fixes bug #438802. svn path=/trunk/; revision=22507
This commit is contained in:
parent
484506176a
commit
ab30daf8b9
|
@ -1,3 +1,8 @@
|
|||
2007-05-16 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* app/base/tile-manager.c (tile_invalidate): if the invalided tile
|
||||
is the cached tile, release the cached tile. Fixes bug #438802.
|
||||
|
||||
2007-05-16 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_sensitive):
|
||||
|
|
|
@ -328,6 +328,14 @@ tile_invalidate (Tile **tile_ptr,
|
|||
if (! tile->valid)
|
||||
return;
|
||||
|
||||
if (tile_num == tm->cached_num)
|
||||
{
|
||||
tile_release (tm->cached_tile, FALSE);
|
||||
|
||||
tm->cached_tile = NULL;
|
||||
tm->cached_num = -1;
|
||||
}
|
||||
|
||||
if (G_UNLIKELY (tile->share_count > 1))
|
||||
{
|
||||
/* This tile is shared. Replace it with a new, invalid tile. */
|
||||
|
@ -815,7 +823,7 @@ read_pixel_data_1 (TileManager *tm,
|
|||
if (tm->cached_tile)
|
||||
tile_release (tm->cached_tile, FALSE);
|
||||
|
||||
tm->cached_num = num;
|
||||
tm->cached_num = num;
|
||||
tm->cached_tile = tile_manager_get (tm, num, TRUE, FALSE);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue