diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2010-11-05 14:28:19 -0400 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2010-11-05 14:28:19 -0400 |
commit | be3faa809a959dcd7e985a0d536ac815d5138976 (patch) | |
tree | e183133c72d2861c068071956845a249c63c5344 | |
parent | a7702be668334560736769e99cbfc9cd01cdcf2b (diff) | |
download | emacs-be3faa809a959dcd7e985a0d536ac815d5138976.tar.gz |
* 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).
-rw-r--r-- | src/ChangeLog | 6 | ||||
-rw-r--r-- | src/image.c | 11 |
2 files changed, 12 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b803582e5f6..cba2b4b478d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -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 diff --git a/src/image.c b/src/image.c index e7db3a7df1b..0fa0a0cd064 100644 --- a/src/image.c +++ b/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); + } } |