aboutsummaryrefslogtreecommitdiffstats
path: root/src/image.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/image.c')
-rw-r--r--src/image.c26
1 files changed, 19 insertions, 7 deletions
diff --git a/src/image.c b/src/image.c
index 216bdc1ee66..3968145728f 100644
--- a/src/image.c
+++ b/src/image.c
@@ -1699,14 +1699,26 @@ free_image (struct frame *f, struct image *img)
1699 c->images[img->id] = NULL; 1699 c->images[img->id] = NULL;
1700 1700
1701#if !defined USE_CAIRO && defined HAVE_XRENDER 1701#if !defined USE_CAIRO && defined HAVE_XRENDER
1702 if (img->picture) 1702 /* FRAME_X_DISPLAY (f) could be NULL if this is being called from
1703 XRenderFreePicture (FRAME_X_DISPLAY (f), img->picture); 1703 the display IO error handler.*/
1704 if (img->mask_picture) 1704
1705 XRenderFreePicture (FRAME_X_DISPLAY (f), img->mask_picture); 1705 if (FRAME_X_DISPLAY (f))
1706#endif 1706 {
1707 if (img->picture)
1708 XRenderFreePicture (FRAME_X_DISPLAY (f),
1709 img->picture);
1710 if (img->mask_picture)
1711 XRenderFreePicture (FRAME_X_DISPLAY (f),
1712 img->mask_picture);
1713 }
1714#endif /* !USE_CAIRO && HAVE_XRENDER */
1715
1716#ifdef HAVE_X_WINDOWS
1717 if (FRAME_X_DISPLAY (f))
1718#endif /* HAVE_X_WINDOWS */
1719 /* Free resources, then free IMG. */
1720 img->type->free_img (f, img);
1707 1721
1708 /* Free resources, then free IMG. */
1709 img->type->free_img (f, img);
1710 xfree (img->face_font_family); 1722 xfree (img->face_font_family);
1711 xfree (img); 1723 xfree (img);
1712 } 1724 }