GNU bug report logs - #55779
29.0.50; child frame

Previous Next

Package: emacs;

Reported by: drshapeless <drsl <at> drshapeless.com>

Date: Fri, 3 Jun 2022 08:19:02 UTC

Severity: normal

Found in version 29.0.50

Done: Po Lu <luangruo <at> yahoo.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Po Lu <luangruo <at> yahoo.com>
To: drshapeless <drsl <at> drshapeless.com>
Cc: 55779 <at> debbugs.gnu.org
Subject: bug#55779: 29.0.50; child frame
Date: Sun, 05 Jun 2022 10:54:53 +0800
drshapeless <drsl <at> drshapeless.com> writes:

> If I comment this part out, even at the lastest master commit, the issue
> is solved. I could say these few lines of code is the root of the bug.
>
> I have no idea what is going on though.

Thanks.  I didn't quite figure that out either.

Does this also fix the problem?

diff --git a/src/xterm.c b/src/xterm.c
index 2bf37e94d6..7f9d4c6ff6 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 ();




This bug report was last modified 3 years and 73 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.