diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 416b7dd5e2..041db2f361 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -1259,6 +1259,10 @@ gdk_window_set_has_native (GdkWindow *window, gboolean has_native) recompute_visible_regions (private, FALSE, FALSE); + /* The shape may not have been set, as the clip region doesn't actually + change, so do it here manually */ + GDK_WINDOW_IMPL_GET_IFACE (private->impl)->shape_combine_region ((GdkWindow *)private, private->clip_region, 0, 0); + reparent_to_impl (private); GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_background (window, &private->bg_color);