Comment 4 for bug 865696

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

=== added file 'debian/patches/rev_2878_bug_865696.patch'
--- debian/patches/rev_2878_bug_865696.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/rev_2878_bug_865696.patch 2011-10-17 07:02:55 +0000
@@ -0,0 +1,23 @@
+=== modified file 'plugins/decor/src/decor.cpp'
+Index: compiz-0.9.6+bzr20110929/plugins/decor/src/decor.cpp
+===================================================================
+--- compiz-0.9.6+bzr20110929.orig/plugins/decor/src/decor.cpp 2011-10-17 14:08:13.331280850 +0800
++++ compiz-0.9.6+bzr20110929/plugins/decor/src/decor.cpp 2011-10-17 14:08:43.911432482 +0800
+@@ -177,10 +177,13 @@
+ const CompRegion &region,
+ unsigned int mask)
+ {
+- CompRegion reg = (mask & (PAINT_WINDOW_TRANSFORMED_MASK |
+- PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK |
+- PAINT_WINDOW_WITH_OFFSET_MASK)) ?
+- region : shadowRegion.intersected (region);
++ CompRegion reg = shadowRegion.intersected (region);
++
++ if ((mask & (PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK |
++ PAINT_WINDOW_WITH_OFFSET_MASK)))
++ reg = region;
++ else if (mask & PAINT_WINDOW_TRANSFORMED_MASK)
++ reg = infiniteRegion;
+
+ /* In case some plugin needs to paint us with an offset region */
+ if (reg.isEmpty ())

This patch fixes a case where a transformed widnow that isn't on a transformed screen gets its decorations clipped