diff --git a/scene.cpp b/scene.cpp index 5c48cdc40e..9a9d3deabd 100644 --- a/scene.cpp +++ b/scene.cpp @@ -355,6 +355,8 @@ QRegion Scene::Window::shape() const shape_region += QRegion( rects[ i ].x, rects[ i ].y, rects[ i ].width, rects[ i ].height ); XFree(rects); + // make sure the shape is sane (X is async, maybe even XShape is broken) + shape_region &= QRegion( 0, 0, width(), height()); } else shape_region = QRegion();