[metacity] compositor-xrender: clip shape region to window size



commit c5a8df1eacf8b5f68ec1c7812f5a86c29e22f480
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Sun Oct 13 21:08:16 2019 +0300

    compositor-xrender: clip shape region to window size
    
    https://bugzilla.gnome.org/show_bug.cgi?id=627879

 src/compositor/meta-compositor-xrender.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
---
diff --git a/src/compositor/meta-compositor-xrender.c b/src/compositor/meta-compositor-xrender.c
index 26a894d3..93d4d613 100644
--- a/src/compositor/meta-compositor-xrender.c
+++ b/src/compositor/meta-compositor-xrender.c
@@ -1057,6 +1057,21 @@ get_window_region (MetaDisplay    *display,
 
   XFixesTranslateRegion (xdisplay, region, cw->rect.x, cw->rect.y);
 
+  if (cw->window->shape_region != NULL)
+    {
+      XserverRegion tmp;
+
+      tmp = XFixesCreateRegion (xdisplay, &(XRectangle) {
+                                  .x = cw->rect.x,
+                                  .y = cw->rect.y,
+                                  .width = cw->rect.width,
+                                  .height = cw->rect.height,
+                                }, 1);
+
+      XFixesIntersectRegion (xdisplay, region, region, tmp);
+      XFixesDestroyRegion (xdisplay, tmp);
+    }
+
   return region;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]