aboutsummaryrefslogtreecommitdiffstats
path: root/src/image.c
diff options
context:
space:
mode:
authorEli Zaretskii2016-03-16 19:04:16 +0200
committerEli Zaretskii2016-03-16 19:04:16 +0200
commitd6d164f6110a68a3acb816fd2ae7e55e71a18aef (patch)
tree5a80501ad46f006f0e62b1d1db6c2d37fe6e7e08 /src/image.c
parentbc7f6f632900f0fbae1b2ea793f43472e1c2546c (diff)
downloademacs-d6d164f6110a68a3acb816fd2ae7e55e71a18aef.tar.gz
emacs-d6d164f6110a68a3acb816fd2ae7e55e71a18aef.zip
Avoid segfaults due to frame image cache being absent
* src/image.c (cache_image): If the frame doesn't have an image cache, create it. (Bug#23028)
Diffstat (limited to 'src/image.c')
-rw-r--r--src/image.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/image.c b/src/image.c
index a44b90b78e7..e8418b840c6 100644
--- a/src/image.c
+++ b/src/image.c
@@ -1830,6 +1830,9 @@ cache_image (struct frame *f, struct image *img)
1830 struct image_cache *c = FRAME_IMAGE_CACHE (f); 1830 struct image_cache *c = FRAME_IMAGE_CACHE (f);
1831 ptrdiff_t i; 1831 ptrdiff_t i;
1832 1832
1833 if (!c)
1834 c = FRAME_IMAGE_CACHE (f) = make_image_cache ();
1835
1833 /* Find a free slot in c->images. */ 1836 /* Find a free slot in c->images. */
1834 for (i = 0; i < c->used; ++i) 1837 for (i = 0; i < c->used; ++i)
1835 if (c->images[i] == NULL) 1838 if (c->images[i] == NULL)