aboutsummaryrefslogtreecommitdiffstats
path: root/src/image.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/image.c')
-rw-r--r--src/image.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/image.c b/src/image.c
index e2a3902b26c..b62e7bcd2ef 100644
--- a/src/image.c
+++ b/src/image.c
@@ -2281,6 +2281,10 @@ image_set_transform (struct frame *f, struct image *img)
2281# if !defined USE_CAIRO && defined HAVE_XRENDER 2281# if !defined USE_CAIRO && defined HAVE_XRENDER
2282 if (!img->picture) 2282 if (!img->picture)
2283 return; 2283 return;
2284
2285 /* Store the original dimensions as we'll overwrite them later. */
2286 img->original_width = img->width;
2287 img->original_height = img->height;
2284# endif 2288# endif
2285 2289
2286 /* Determine size. */ 2290 /* Determine size. */
@@ -3140,6 +3144,11 @@ image_get_x_image (struct frame *f, struct image *img, bool mask_p)
3140 3144
3141 if (ximg_in_img) 3145 if (ximg_in_img)
3142 return ximg_in_img; 3146 return ximg_in_img;
3147#ifdef HAVE_XRENDER
3148 else if (img->picture)
3149 return XGetImage (FRAME_X_DISPLAY (f), !mask_p ? img->pixmap : img->mask,
3150 0, 0, img->original_width, img->original_height, ~0, ZPixmap);
3151#endif
3143 else 3152 else
3144 return XGetImage (FRAME_X_DISPLAY (f), !mask_p ? img->pixmap : img->mask, 3153 return XGetImage (FRAME_X_DISPLAY (f), !mask_p ? img->pixmap : img->mask,
3145 0, 0, img->width, img->height, ~0, ZPixmap); 3154 0, 0, img->width, img->height, ~0, ZPixmap);