From 1472b046eaeb8b2177341fb1c2b42bf5d1207ec7 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Mon, 31 Jan 2022 18:08:07 +0800 Subject: [PATCH] * src/xterm.c (x_term_init): Avoid freeze with 24-bit visuals. --- src/xterm.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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 -- 2.39.5