summaryrefslogtreecommitdiffstats
path: root/src/libdraw/x11-draw.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libdraw/x11-draw.c')
-rw-r--r--src/libdraw/x11-draw.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libdraw/x11-draw.c b/src/libdraw/x11-draw.c
index 33b92c87..ee91791d 100644
--- a/src/libdraw/x11-draw.c
+++ b/src/libdraw/x11-draw.c
@@ -17,14 +17,12 @@ void
memimagedraw(Memimage *dst, Rectangle r, Memimage *src, Point sp,
Memimage *mask, Point mp, int op)
{
+ int drew;
Memdrawparam *par;
if((par = _memimagedrawsetup(dst, r, src, sp, mask, mp, op)) == nil)
return;
- if(xdraw(par))
- return;
-
/* only fetch dst data if we need it */
if((par->state&(Simplemask|Fullmask)) != (Simplemask|Fullmask))
xgetxdata(dst, par->r);
@@ -36,6 +34,9 @@ memimagedraw(Memimage *dst, Rectangle r, Memimage *src, Point sp,
/* now can run memimagedraw on the in-memory bits */
_memimagedraw(par);
+ if(xdraw(par))
+ return;
+
/* put bits back on x server */
xputxdata(dst, par->r);
}
@@ -67,7 +68,7 @@ xdraw(Memdrawparam *par)
m = Simplesrc|Simplemask|Fullmask;
if((state&m) == m){
xfillcolor(dst, r, par->sdval);
- xdirtyxdata(dst, r);
+ // xdirtyxdata(dst, r);
return 1;
}
@@ -86,7 +87,7 @@ 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;
}
@@ -131,7 +132,7 @@ xdraw(Memdrawparam *par)
XSetTSOrigin(_x.display, gc, mp.x, mp.y);
XFillRectangle(_x.display, xdst->pixmap, gc, dp.x, dp.y,
Dx(r), Dy(r));
- xdirtyxdata(dst, r);
+ // xdirtyxdata(dst, r);
return 1;
}