diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 476b7f27e4..65ee69c535 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -6415,6 +6415,8 @@ do_child_shapes (GdkWindow *window, if (merge && window->shape) cairo_region_subtract (region, window->shape); + cairo_region_xor_rectangle (region, &r); + gdk_window_shape_combine_region (window, region, 0, 0); } @@ -6536,6 +6538,8 @@ do_child_input_shapes (GdkWindow *window, if (merge && window->input_shape) cairo_region_subtract (region, window->input_shape); + cairo_region_xor_rectangle (region, &r); + gdk_window_input_shape_combine_region (window, region, 0, 0); }