diff options
| -rw-r--r-- | src/compositor/compositor-xrender.c | 11 | 
1 files changed, 9 insertions, 2 deletions
| diff --git a/src/compositor/compositor-xrender.c b/src/compositor/compositor-xrender.c index 04e89f66..1679f06e 100644 --- a/src/compositor/compositor-xrender.c +++ b/src/compositor/compositor-xrender.c @@ -1216,8 +1216,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, | 
