From 62a6934af9c110c28fc1f69f4bb1b79ce9d0c43d Mon Sep 17 00:00:00 2001 From: Alan Third Date: Sat, 5 Dec 2020 19:40:08 +0000 Subject: Fix crash when using XRender and restoring image from X (bug#44930) * src/dispextern.h (struct image): Add original dimension elements. * src/image.c (image_set_transform): Store the original dimensions. (image_get_x_image): If we're using transforms use the original dimensions with XGetImage. --- src/dispextern.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/dispextern.h') diff --git a/src/dispextern.h b/src/dispextern.h index 6b72e68d315..44556276ff5 100644 --- a/src/dispextern.h +++ b/src/dispextern.h @@ -3047,6 +3047,10 @@ struct image # if !defined USE_CAIRO && defined HAVE_XRENDER /* Picture versions of pixmap and mask for compositing. */ Picture picture, mask_picture; + + /* We need to store the original image dimensions in case we have to + call XGetImage. */ + int original_width, original_height; # endif #endif /* HAVE_X_WINDOWS */ #ifdef HAVE_NTGUI -- cgit v1.2.3