From 5154e54d8b8ee864f31f0774ee590be87a1d6e02 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 8 Feb 2013 12:44:56 -0500 Subject: devdraw: disable XCopyArea optimization Ubuntu Precise seems to have a buggy X server that sometimes fails at XCopyArea. Let devdraw do it itself. This will slow down remote X a little bit, but slow and correct is better than fast and broken. R=rsc https://codereview.appspot.com/7310069 --- src/cmd/devdraw/x11-draw.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/cmd') diff --git a/src/cmd/devdraw/x11-draw.c b/src/cmd/devdraw/x11-draw.c index 6c41daff..25ae323e 100644 --- a/src/cmd/devdraw/x11-draw.c +++ b/src/cmd/devdraw/x11-draw.c @@ -74,7 +74,9 @@ xdraw(Memdrawparam *par) * If no source alpha and an opaque mask, we can just copy * the source onto the destination. If the channels are the * same and the source is not replicated, XCopyArea works. - */ + * This is disabled because Ubuntu Precise seems to ship with + * a buggy X server that sometimes drops the XCopyArea + * requests on the floor. m = Simplemask|Fullmask; if((state&(m|Replsrc))==m && src->chan==dst->chan && src->X){ xdst = dst->X; @@ -85,9 +87,10 @@ xdraw(Memdrawparam *par) XCopyArea(_x.display, xsrc->pixmap, xdst->pixmap, gc, sp.x, sp.y, Dx(r), Dy(r), dp.x, dp.y); - /* xdirtyxdata(dst, r); */ + /* xdirtyxdata(dst, r); * / return 1; } + */ /* * If no source alpha, a 1-bit mask, and a simple source, -- cgit v1.2.3