diff --git a/src/scene/surfaceitem_wayland.cpp b/src/scene/surfaceitem_wayland.cpp index 4a307565c0..a4d012f774 100644 --- a/src/scene/surfaceitem_wayland.cpp +++ b/src/scene/surfaceitem_wayland.cpp @@ -252,30 +252,15 @@ SurfaceItemXwayland::SurfaceItemXwayland(X11Window *window, Item *parent) : SurfaceItemWayland(window->surface(), parent) , m_window(window) { - connect(window, &X11Window::shapeChanged, this, &SurfaceItemXwayland::discardQuads); -} - -QList SurfaceItemXwayland::shape() const -{ - QList shape = m_window->shapeRegion(); - for (QRectF &shapePart : shape) { - shapePart = shapePart.intersected(rect()); - } - return shape; } QRegion SurfaceItemXwayland::opaque() const { - QRegion shapeRegion; - for (const QRectF &shapePart : shape()) { - shapeRegion += shapePart.toRect(); - } if (!m_window->hasAlpha()) { - return shapeRegion; + return rect().toRect(); } else { - return m_window->opaqueRegion() & shapeRegion; + return m_window->opaqueRegion() & rect().toRect(); } - return QRegion(); } #endif } // namespace KWin diff --git a/src/scene/surfaceitem_wayland.h b/src/scene/surfaceitem_wayland.h index f769284172..991cd168c3 100644 --- a/src/scene/surfaceitem_wayland.h +++ b/src/scene/surfaceitem_wayland.h @@ -95,7 +95,6 @@ public: explicit SurfaceItemXwayland(X11Window *window, Item *parent = nullptr); QRegion opaque() const override; - QList shape() const override; private: X11Window *m_window;