[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    =?utf-8?q?=5Bkde-workspace/kwin/oxygen-shadows=5D_kwin=3A_Don=27?=
From:       Martin_Gräßlin <mgraesslin () kde ! org>
Date:       2011-04-03 11:06:14
Message-ID: 20110403110614.7A8D4A609B () git ! kde ! org
[Download RAW message or body]

Git commit b8eb2b852490230beed7d1412dcb604e9ff503c1 by Martin Gräßlin.
Committed on 03/04/2011 at 13:05.
Pushed by graesslin into branch 'kwin/oxygen-shadows'.

Don't render a Shadow if the Shadow overlaps the window

M  +8    -0    kwin/shadow.cpp     

http://commits.kde.org/kde-workspace/b8eb2b852490230beed7d1412dcb604e9ff503c1

diff --git a/kwin/shadow.cpp b/kwin/shadow.cpp
index 9e9179a..5127a42 100644
--- a/kwin/shadow.cpp
+++ b/kwin/shadow.cpp
@@ -127,6 +127,14 @@ void Shadow::buildQuads()
     const QRect bottomLeftRect(QPoint(0, 0), m_shadowElements[ShadowElementBottomLeft].size());
     const QRect leftRect(QPoint(0, 0), m_shadowElements[ShadowElementLeft].size());
     const QRect topLeftRect(QPoint(0, 0), m_shadowElements[ShadowElementTopLeft].size());
+    if ((leftRect.width() - m_leftOffset > m_topLevel->width()) ||
+        (rightRect.width() - m_rightOffset > m_topLevel->width()) ||
+        (topRect.height() - m_topOffset > m_topLevel->height()) ||
+        (bottomRect.height() - m_bottomOffset > m_topLevel->height())) {
+        // if our shadow is bigger than the window, we don't render the shadow
+        m_shadowRegion = QRegion();
+        return;
+    }
     WindowQuad topLeftQuad(WindowQuadShadowTopLeft);
     topLeftQuad[ 0 ] = WindowVertex(-m_leftOffset, -m_topOffset, 0.0, 0.0);
     topLeftQuad[ 1 ] = WindowVertex(-m_leftOffset + topLeftRect.width(), -m_topOffset, 1.0, 0.0);

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic