Fix the fix for Bug#6426 (Bug#7210), avoiding frame garbaging loop.
* image.c (free_image): Don't garbage the frame here, since this function can be called while redisplaying (Bug#7210). (uncache_image): Garbage the frame here (Bug#6426).
This commit is contained in:
parent
a7702be668
commit
be3faa809a
2 changed files with 12 additions and 5 deletions
|
@ -1,3 +1,9 @@
|
|||
2010-11-05 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* image.c (free_image): Don't garbage the frame here, since this
|
||||
function can be called while redisplaying (Bug#7210).
|
||||
(uncache_image): Garbage the frame here (Bug#6426).
|
||||
|
||||
2010-11-04 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* process.c (Fmake_network_process): Don't apply Bug#5173 fix for
|
||||
|
|
11
src/image.c
11
src/image.c
|
@ -1094,10 +1094,6 @@ free_image (f, img)
|
|||
/* Free resources, then free IMG. */
|
||||
img->type->free (f, img);
|
||||
xfree (img);
|
||||
|
||||
/* As display glyphs may still be referring to the image ID, we
|
||||
must garbage the frame (Bug#6426). */
|
||||
SET_FRAME_GARBAGED (f);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1544,7 +1540,12 @@ uncache_image (f, spec)
|
|||
{
|
||||
struct image *img = search_image_cache (f, spec, sxhash (spec, 0));
|
||||
if (img)
|
||||
free_image (f, img);
|
||||
{
|
||||
free_image (f, img);
|
||||
/* As display glyphs may still be referring to the image ID, we
|
||||
must garbage the frame (Bug#6426). */
|
||||
SET_FRAME_GARBAGED (f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue