From: Po Lu Date: Mon, 31 Jan 2022 10:08:07 +0000 (+0800) Subject: * src/xterm.c (x_term_init): Avoid freeze with 24-bit visuals. X-Git-Tag: emacs-29.0.90~2631 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1472b046eaeb8b2177341fb1c2b42bf5d1207ec7;p=emacs.git * src/xterm.c (x_term_init): Avoid freeze with 24-bit visuals. --- diff --git a/src/xterm.c b/src/xterm.c index dc4e53759e8..12f3c0a9d17 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -15578,9 +15578,13 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) #ifdef HAVE_XRENDER if (dpyinfo->pict_format) { - get_bits_and_offset (((unsigned long) dpyinfo->pict_format->direct.alphaMask - << dpyinfo->pict_format->direct.alpha), - &dpyinfo->alpha_bits, &dpyinfo->alpha_offset); + unsigned long channel_mask + = ((unsigned long) dpyinfo->pict_format->direct.alphaMask + << dpyinfo->pict_format->direct.alpha); + + if (channel_mask) + get_bits_and_offset (channel_mask, &dpyinfo->alpha_bits, + &dpyinfo->alpha_offset); } else #endif