diff options
| author | Eli Zaretskii | 2016-03-16 19:04:16 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2016-03-16 19:04:16 +0200 |
| commit | d6d164f6110a68a3acb816fd2ae7e55e71a18aef (patch) | |
| tree | 5a80501ad46f006f0e62b1d1db6c2d37fe6e7e08 /src/image.c | |
| parent | bc7f6f632900f0fbae1b2ea793f43472e1c2546c (diff) | |
| download | emacs-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.c | 3 |
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) |