summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-06-05 13:03:55 +0800
committerPo Lu <luangruo@yahoo.com>2022-06-05 13:05:56 +0800
commite4725ab688f0c64f79312b32ce6fb3bc7f0b4b51 (patch)
tree1335df50482b934425c8f557abbdca14425ec536
parent7d7a6f6719ddf99a4afefe6ae44f7cba48707d45 (diff)
downloademacs-e4725ab688f0c64f79312b32ce6fb3bc7f0b4b51.tar.gz
emacs-e4725ab688f0c64f79312b32ce6fb3bc7f0b4b51.tar.bz2
emacs-e4725ab688f0c64f79312b32ce6fb3bc7f0b4b51.zip
Fix bug#55779
* src/xterm.c (x_update_opaque_region): Don't make GTK reset the opaque region if F is a child frame.
-rw-r--r--src/xterm.c13
1 files 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 ();