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:
Sven Neumann 2007-05-16 12:05:15 +00:00 committed by Sven Neumann
parent 484506176a
commit ab30daf8b9
2 changed files with 14 additions and 1 deletions

View File

@ -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):

View File

@ -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);
}