diff options
author | Dennis Kasprzyk <onestone@opencompositing.org> | 2008-06-18 14:58:30 +0200 |
---|---|---|
committer | Dennis kasprzyk <onestone@opencompositing.org> | 2008-06-18 14:58:30 +0200 |
commit | 819acbd18169d2d436abb9c1624e823f75e9c733 (patch) | |
tree | 156bda0f4c19510c9067c7a32861826f3267c776 | |
parent | c05dae8dfa1d6f9f48921a99323be6870fc4b521 (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.cpp | 4 | ||||
-rw-r--r-- | kde/window-decorator-kde4/window.h | 2 |
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 ®, 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); |