From: Po Lu Date: Fri, 28 Apr 2023 03:47:46 +0000 (+0800) Subject: Fix two crashes upon startup X-Git-Tag: emacs-29.0.91~87 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a40f18162377d2f9a78d7443fd0f8106c8c28c3d;p=emacs.git Fix two crashes upon startup * src/image.c (image_create_bitmap_from_data) (image_create_bitmap_from_file): Specify a Window or a Pixmap describing the screen, not a back buffer drawable which may not exist. Otherwise, Emacs crashes on startup when a bitmap icon is in use. --- diff --git a/src/image.c b/src/image.c index e78c0abb0db..8ee802a9d62 100644 --- a/src/image.c +++ b/src/image.c @@ -479,7 +479,8 @@ image_create_bitmap_from_data (struct frame *f, char *bits, #ifdef HAVE_X_WINDOWS Pixmap bitmap; - bitmap = XCreateBitmapFromData (FRAME_X_DISPLAY (f), FRAME_X_DRAWABLE (f), + bitmap = XCreateBitmapFromData (FRAME_X_DISPLAY (f), + dpyinfo->root_window, bits, width, height); if (! bitmap) return -1; @@ -729,8 +730,10 @@ image_create_bitmap_from_file (struct frame *f, Lisp_Object file) filename = SSDATA (found); - result = XReadBitmapFile (FRAME_X_DISPLAY (f), FRAME_X_DRAWABLE (f), - filename, &width, &height, &bitmap, &xhot, &yhot); + result = XReadBitmapFile (FRAME_X_DISPLAY (f), + dpyinfo->root_window, + filename, &width, &height, &bitmap, + &xhot, &yhot); if (result != BitmapSuccess) return -1;