summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Kasprzyk <onestone@opencompositing.org>2008-06-18 14:58:30 +0200
committerDennis kasprzyk <onestone@opencompositing.org>2008-06-18 14:58:30 +0200
commit819acbd18169d2d436abb9c1624e823f75e9c733 (patch)
tree156bda0f4c19510c9067c7a32861826f3267c776
parentc05dae8dfa1d6f9f48921a99323be6870fc4b521 (diff)
Use a single shot timer to prevent recursive repaint calls, if a decoration sets its mask during repaint.
-rw-r--r--kde/window-decorator-kde4/window.cpp4
-rw-r--r--kde/window-decorator-kde4/window.h2
2 files changed, 2 insertions, 4 deletions
diff --git a/kde/window-decorator-kde4/window.cpp b/kde/window-decorator-kde4/window.cpp
index b13dc23d..c24c3c1b 100644
--- a/kde/window-decorator-kde4/window.cpp
+++ b/kde/window-decorator-kde4/window.cpp
@@ -1147,7 +1147,7 @@ KWD::Window::setMask (const QRegion &reg, int)
mUniqueVertShape = uniqueVertShape;
if (mPixmap)
- updateShadow ();
+ QTimer::singleShot (0, this, SLOT (updateShadow ()));
}
}
@@ -1288,8 +1288,6 @@ KWD::Window::rebindPixmap (void)
xformat, 0, NULL);
updateShadow ();
-
- mDecor->widget ()->update ();
}
bool
diff --git a/kde/window-decorator-kde4/window.h b/kde/window-decorator-kde4/window.h
index 0441fbb1..5a77a27f 100644
--- a/kde/window-decorator-kde4/window.h
+++ b/kde/window-decorator-kde4/window.h
@@ -187,7 +187,6 @@ class Window:public QWidget, public KDecorationBridge {
private:
void createDecoration (void);
- void updateShadow (void);
bool resizeDecoration (bool force = false);
void updateBlurProperty (int topOffset,
int bottomOffset,
@@ -203,6 +202,7 @@ class Window:public QWidget, public KDecorationBridge {
private slots:
+ void updateShadow (void);
void handlePopupActivated (QAction *action);
void handleOpacityPopupActivated (QAction *action);
void handleDesktopPopupActivated (QAction *action);