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
commit96ea32f1792776c20041a2485719a9caa927f5de (patch)
tree6299574ba62550c9874d584de05c23ca638cfb14
parent5ae38a62db338cb00d3cb17e3d6b4b93d7c01720 (diff)
downloadtdebase-96ea32f1792776c20041a2485719a9caa927f5de.tar.gz
tdebase-96ea32f1792776c20041a2485719a9caa927f5de.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!