summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compositor/compositor-xrender.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/compositor/compositor-xrender.c b/src/compositor/compositor-xrender.c
index 75171cbc..8b0c43e5 100644
--- a/src/compositor/compositor-xrender.c
+++ b/src/compositor/compositor-xrender.c
@@ -1321,8 +1321,15 @@ paint_windows (MetaScreen *screen,
if (cw->type == META_COMP_WINDOW_DESKTOP)
{
- desktop_region = XFixesCreateRegion (xdisplay, 0, 0);
- XFixesCopyRegion (xdisplay, desktop_region, paint_region);
+ if(desktop_region)
+ {
+ XFixesUnionRegion (xdisplay, desktop_region, desktop_region, paint_region);
+ }
+ else
+ {
+ desktop_region = XFixesCreateRegion (xdisplay, 0, 0);
+ XFixesCopyRegion (xdisplay, desktop_region, paint_region);
+ }
}
XFixesSubtractRegion (xdisplay, paint_region,