commit 5154e54d8b8ee864f31f0774ee590be87a1d6e02
parent cac1425c4a48d9bdead08249ccfc0ba5d0156b97
Author: Russ Cox <rsc@swtch.com>
Date: Fri, 8 Feb 2013 12:44:56 -0500
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:
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git 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,