From: Po Lu Date: Sun, 5 Jun 2022 05:03:55 +0000 (+0800) Subject: Fix bug#55779 X-Git-Tag: emacs-29.0.90~1910^2~225 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e4725ab688f0c64f79312b32ce6fb3bc7f0b4b51;p=emacs.git Fix bug#55779 * src/xterm.c (x_update_opaque_region): Don't make GTK reset the opaque region if F is a child frame. --- diff --git a/src/xterm.c b/src/xterm.c index 3b60dba69bd..a6ef2bfd159 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -4349,11 +4349,16 @@ x_update_opaque_region (struct frame *f, XEvent *configure) (unsigned char *) &opaque_region, 4); else { - object_class = G_OBJECT_GET_CLASS (FRAME_GTK_OUTER_WIDGET (f)); - class = GTK_WIDGET_CLASS (object_class); + /* This causes child frames to not update correctly for an + unknown reason. (bug#55779) */ + if (!FRAME_PARENT_FRAME (f)) + { + object_class = G_OBJECT_GET_CLASS (FRAME_GTK_OUTER_WIDGET (f)); + class = GTK_WIDGET_CLASS (object_class); - if (class->style_updated) - class->style_updated (FRAME_GTK_OUTER_WIDGET (f)); + if (class->style_updated) + class->style_updated (FRAME_GTK_OUTER_WIDGET (f)); + } } #endif unblock_input ();