aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/devdraw/x11-draw.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@swtch.com>2013-02-08 12:44:56 -0500
committerRuss Cox <rsc@swtch.com>2013-02-08 12:44:56 -0500
commit5154e54d8b8ee864f31f0774ee590be87a1d6e02 (patch)
tree24db37dc08455c04929498b241f76f99dc864c8f /src/cmd/devdraw/x11-draw.c
parentcac1425c4a48d9bdead08249ccfc0ba5d0156b97 (diff)
downloadplan9port-5154e54d8b8ee864f31f0774ee590be87a1d6e02.tar.gz
plan9port-5154e54d8b8ee864f31f0774ee590be87a1d6e02.tar.bz2
plan9port-5154e54d8b8ee864f31f0774ee590be87a1d6e02.zip
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
Diffstat (limited to 'src/cmd/devdraw/x11-draw.c')
-rw-r--r--src/cmd/devdraw/x11-draw.c7
1 files changed, 5 insertions, 2 deletions
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,