Fix bug#55779

* src/xterm.c (x_update_opaque_region): Don't make GTK reset the
opaque region if F is a child frame.
This commit is contained in:
Po Lu 2022-06-05 13:03:55 +08:00
parent 7d7a6f6719
commit e4725ab688

View file

@ -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 ();