From: Po Lu Date: Sat, 22 Jan 2022 01:11:33 +0000 (+0800) Subject: Fix crash when the visible bell is rung but there is no cairo surface X-Git-Tag: emacs-29.0.90~2877^2~3 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5672ee5663c6891c5a858e4b2f50246b6898eb1b;p=emacs.git Fix crash when the visible bell is rung but there is no cairo surface * src/pgtkterm.c (pgtk_flash): Return if the cairo surface is not present. (bug#53420) (pgtk_cr_update_surface_desired_size): Reformat comment. --- diff --git a/src/pgtkterm.c b/src/pgtkterm.c index 4c38ff5a597..8073f51c610 100644 --- a/src/pgtkterm.c +++ b/src/pgtkterm.c @@ -3734,6 +3734,9 @@ pgtk_flash (struct frame *f) block_input (); { + if (!FRAME_CR_CONTEXT (f)) + return; + cairo_surface_t *surface_orig = FRAME_CR_SURFACE (f); int width = FRAME_CR_SURFACE_DESIRED_WIDTH (f); @@ -7041,13 +7044,12 @@ If set to a non-float value, there will be no wait at all. */); } /* Cairo does not allow resizing a surface/context after it is - * created, so we need to trash the old context, create a new context - * on the next cr_clip_begin with the new dimensions and request a - * re-draw. - * - * This Will leave the active context available to present on screen - * until a redrawn frame is completed. - */ + created, so we need to trash the old context, create a new context + on the next cr_clip_begin with the new dimensions and request a + re-draw. + + This will leave the active context available to present on screen + until a redrawn frame is completed. */ void pgtk_cr_update_surface_desired_size (struct frame *f, int width, int height, bool force) {