summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Grenville <[email protected]>2014-01-19 08:04:14 +0800
committerRichard Grenville <[email protected]>2014-01-19 08:04:14 +0800
commitb68985f96fd2b4737fd2168f27105b9b662fcc19 (patch)
tree6299574ba62550c9874d584de05c23ca638cfb14
parent0969d7d525ce8e053f9e8e7dd79540570307f477 (diff)
downloadtdebase-b68985f96fd2b4737fd2168f27105b9b662fcc19.tar.gz
tdebase-b68985f96fd2b4737fd2168f27105b9b662fcc19.zip
Bug fix #163: xr_glx_hybrid: Flickering issue
xr_glx_hybrid backend: Attempt to fix flickering issue. Thanks to cju for testing.
-rw-r--r--compton.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/compton.c b/compton.c
index 3ddf46f4c..f539daa2c 100644
--- a/compton.c
+++ b/compton.c
@@ -1950,6 +1950,13 @@ paint_all(session_t *ps, XserverRegion region, XserverRegion region_real, win *t
paint_bind_tex_real(ps, &ps->tgt_buffer,
ps->root_width, ps->root_height, ps->depth,
!ps->o.glx_no_rebind_pixmap);
+ // See #163
+ XSync(ps->dpy, False);
+ if (ps->o.vsync_use_glfinish)
+ glFinish();
+ else
+ glFlush();
+ glXWaitX();
glx_render(ps, ps->tgt_buffer.ptex, 0, 0, 0, 0,
ps->root_width, ps->root_height, 0, 1.0, false, region_real, NULL);
// No break here!