summaryrefslogtreecommitdiffstats
path: root/compton.c
diff options
context:
space:
mode:
authorRichard Grenville <pyxlcy@gmail.com>2012-09-11 21:11:06 +0800
committerRichard Grenville <pyxlcy@gmail.com>2012-09-11 21:11:06 +0800
commitfe811d6451944e6643a8bfae13050b23bf7254c9 (patch)
tree4e32da919639d199c14ae915becda00e6beff771 /compton.c
parent4f11c53a6d948be29a69b4b3b0a40679e9dd01dd (diff)
downloadtdebase-fe811d6451944e6643a8bfae13050b23bf7254c9.tar.gz
tdebase-fe811d6451944e6643a8bfae13050b23bf7254c9.zip
Bug fix: Issue #38, fixes painting specially-shaped semi-transparent windows
Fix taken from xcompmgr.
Diffstat (limited to 'compton.c')
-rw-r--r--compton.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/compton.c b/compton.c
index b72dc59bd..0272615ba 100644
--- a/compton.c
+++ b/compton.c
@@ -1122,6 +1122,10 @@ paint_all(Display *dpy, XserverRegion region) {
if (w->mode != WINDOW_SOLID || HAS_FRAME_OPACITY(w)) {
int x, y, wid, hei;
+ // Necessary to make sure specially-shaped windows are
+ // painted correctly
+ XFixesIntersectRegion(dpy, w->border_clip, w->border_clip, w->border_size);
+ XFixesSetPictureClipRegion(dpy, root_buffer, 0, 0, w->border_clip);
#if HAS_NAME_WINDOW_PIXMAP
x = w->a.x;
y = w->a.y;