diff --git a/src/effects.cpp b/src/effects.cpp index 880ef5e20b..086cf7d7eb 100644 --- a/src/effects.cpp +++ b/src/effects.cpp @@ -1987,7 +1987,7 @@ void EffectWindowImpl::setSceneWindow(Scene::Window* w) QRect EffectWindowImpl::decorationInnerRect() const { - return toplevel->transparentRect(); + return toplevel->rect() - toplevel->frameMargins(); } QByteArray EffectWindowImpl::readProperty(long atom, long type, int format) const diff --git a/src/scene.cpp b/src/scene.cpp index 079790ad4a..60f8eb3cc3 100644 --- a/src/scene.cpp +++ b/src/scene.cpp @@ -656,7 +656,8 @@ void Scene::Window::unreferencePreviousPixmap_helper(SurfaceItem *item) QRegion Scene::Window::decorationShape() const { - return QRegion(toplevel->rect()) - toplevel->transparentRect(); + const QRect decorationInnerRect = toplevel->rect() - toplevel->frameMargins(); + return QRegion(toplevel->rect()) - decorationInnerRect; } bool Scene::Window::isVisible() const diff --git a/src/toplevel.h b/src/toplevel.h index 2890181b50..1d15746da6 100644 --- a/src/toplevel.h +++ b/src/toplevel.h @@ -362,7 +362,6 @@ public: * Returns a rectangle that the window occupies on the screen, including drop-shadows. */ QRect visibleGeometry() const; - QRect transparentRect() const; virtual bool isClient() const; virtual bool isDeleted() const; @@ -789,11 +788,6 @@ inline QRect Toplevel::rect() const return QRect(0, 0, width(), height()); } -inline QRect Toplevel::transparentRect() const -{ - return isShade() ? QRect() : QRect(clientPos(), clientSize()); -} - inline bool Toplevel::readyForPainting() const { return ready_for_painting;