diff --git a/shadow.cpp b/shadow.cpp index e60144b356..ed610da93c 100644 --- a/shadow.cpp +++ b/shadow.cpp @@ -199,6 +199,8 @@ bool Shadow::updateShadow() return false; } init(data); + if (m_topLevel && m_topLevel->effectWindow()) + m_topLevel->effectWindow()->buildQuads(true); return true; } diff --git a/toplevel.cpp b/toplevel.cpp index 89e29086fd..6b62fe87f9 100644 --- a/toplevel.cpp +++ b/toplevel.cpp @@ -146,7 +146,7 @@ void Toplevel::disownDataPassedToDeleted() QRect Toplevel::visibleRect() const { - if (hasShadow()) { + if (hasShadow() && !shadow()->shadowRegion().isEmpty()) { return shadow()->shadowRegion().boundingRect().translated(geometry().topLeft()); } return geometry();