From e4725ab688f0c64f79312b32ce6fb3bc7f0b4b51 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Sun, 5 Jun 2022 13:03:55 +0800 Subject: [PATCH] Fix bug#55779 * src/xterm.c (x_update_opaque_region): Don't make GTK reset the opaque region if F is a child frame. --- src/xterm.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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 (); -- 2.39.2