diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c index 78649b37a..99bffd7b9 100644 --- a/src/x11/window-x11.c +++ b/src/x11/window-x11.c @@ -1847,6 +1847,12 @@ meta_window_x11_update_shape_region (MetaWindow *window) * this is simply the client area. */ cairo_region_intersect_rectangle (region, &client_area); + + /* Some applications might explicitly set their bounding region + * to the client area. Detect these cases, and throw out the + * bounding region in this case. */ + if (cairo_region_contains_rectangle (region, &client_area) == CAIRO_REGION_OVERLAP_IN) + g_clear_pointer (®ion, cairo_region_destroy); } meta_window_set_shape_region (window, region);