diff options
Diffstat (limited to 'source/x/x11/patch/compiz/compiz-0.7.8-kde42-crash.patch')
-rw-r--r-- | source/x/x11/patch/compiz/compiz-0.7.8-kde42-crash.patch | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/source/x/x11/patch/compiz/compiz-0.7.8-kde42-crash.patch b/source/x/x11/patch/compiz/compiz-0.7.8-kde42-crash.patch new file mode 100644 index 00000000..00f89e2c --- /dev/null +++ b/source/x/x11/patch/compiz/compiz-0.7.8-kde42-crash.patch @@ -0,0 +1,66 @@ +Implement KDecorationBridge unstable API, needed for KDE 4.2. +--- + +diff --git a/kde/window-decorator-kde4/window.cpp b/kde/window-decorator-kde4/window.cpp +index d2d362b..68c856b 100644 +--- a/kde/window-decorator-kde4/window.cpp ++++ b/kde/window-decorator-kde4/window.cpp +@@ -764,6 +764,31 @@ KWD::Window::grabXServer (bool) + } + + void ++KWD::Window::repaintShadow (void) ++{ ++} ++ ++bool ++KWD::Window::compositingActive (void) const ++{ ++ return true; ++} ++ ++bool ++KWD::Window::shadowsActive (void) const ++{ ++ /* we are drawing the shadows ourselves, no need for the ++ decoration engine to do so */ ++ return false; ++} ++ ++double ++KWD::Window::opacity (void) const ++{ ++ return 1.0; ++} ++ ++void + KWD::Window::createDecoration (void) + { + KDecoration *decor; +diff --git a/kde/window-decorator-kde4/window.h b/kde/window-decorator-kde4/window.h +index bdf2c47..034e6fe 100644 +--- a/kde/window-decorator-kde4/window.h ++++ b/kde/window-decorator-kde4/window.h +@@ -45,7 +45,7 @@ class QMenu; + + namespace KWD + { +-class Window:public QWidget, public KDecorationBridge { ++class Window:public QWidget, public KDecorationBridgeUnstable { + Q_OBJECT public: + + enum Type +@@ -104,6 +104,12 @@ class Window:public QWidget, public KDecorationBridge { + virtual Qt::WFlags initialWFlags (void) const; + virtual void grabXServer (bool grab); + ++ /* unstable API */ ++ virtual void repaintShadow (); ++ virtual bool compositingActive () const; ++ virtual bool shadowsActive () const; ++ virtual double opacity () const; ++ + void handleActiveChange (void); + void updateFrame (WId frame); + void updateWindowGeometry (void); + |