summaryrefslogtreecommitdiff
path: root/source/x/x11/patch/compiz/compiz-0.7.8-kde42-crash.patch
diff options
context:
space:
mode:
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.patch66
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);
+