summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Spilsbury <sam.spilsbury@canonical.com>2011-09-29 11:30:30 +0800
committerSam Spilsbury <sam.spilsbury@canonical.com>2011-09-29 11:30:30 +0800
commit734eb439103703a43644a064e4b30ebaf7116b90 (patch)
tree9329215e389160a349d8f6f6716c91c39530779e
parentc4d70d50ba148ef51f1a9f27f90bfb1805b96dcc (diff)
parent162743e8bf83c9bbe2f0a21c2ddb922a55008f3e (diff)
downloadcore-734eb439103703a43644a064e4b30ebaf7116b90.tar.gz
core-734eb439103703a43644a064e4b30ebaf7116b90.tar.bz2
Merge lp:~compiz-team/compiz-core/compiz-core.fix_853951
-rw-r--r--plugins/decor/src/decor.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/plugins/decor/src/decor.cpp b/plugins/decor/src/decor.cpp
index 9a1d240..6a81817 100644
--- a/plugins/decor/src/decor.cpp
+++ b/plugins/decor/src/decor.cpp
@@ -247,12 +247,20 @@ DecorWindow::glDecorate (const GLMatrix &transform,
const CompRegion &region,
unsigned int mask)
{
- const CompRegion reg = (mask & PAINT_WINDOW_TRANSFORMED_MASK) ?
- infiniteRegion : shadowRegion.intersected (region);
+ CompRegion reg = (mask & (PAINT_WINDOW_TRANSFORMED_MASK |
+ PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK |
+ PAINT_WINDOW_WITH_OFFSET_MASK)) ?
+ region : shadowRegion.intersected (region);
- if (wd && !reg.isEmpty () &&
+ /* In case some plugin needs to paint us with an offset region */
+ if (reg.isEmpty ())
+ reg = region;
+
+ if (wd &&
wd->decor->type == WINDOW_DECORATION_TYPE_PIXMAP)
{
+
+
CompRect box;
GLTexture::MatrixList ml (1);
mask |= PAINT_WINDOW_BLEND_MASK;