git: 9front

Download patch

ref: 3af6069b0f9248d0449799dc0e09ff38d71e36f3
parent: ebc86924d2378b500c47ae1b16664fbc3cbcabe7
author: rodri <rgl@antares-labs.eu>
date: Tue Sep 9 18:06:54 EDT 2025

libdraw: don't set the Drawop in affinewarp()

It's not used and it messes up with the next draw(2) call.

--- a/sys/src/libdraw/warp.c
+++ b/sys/src/libdraw/warp.c
@@ -9,7 +9,7 @@
 	BPLONG(a+1*3*4+0*4, w[1][0]); BPLONG(a+1*3*4+1*4, w[1][1]); BPLONG(a+1*3*4+2*4, w[1][2]);
 	BPLONG(a+2*3*4+0*4, w[2][0]); BPLONG(a+2*3*4+1*4, w[2][1]); BPLONG(a+2*3*4+2*4, w[2][2]);
 }
-		
+
 void
 affinewarp(Image *dst, Rectangle r, Image *src, Point p, Warp w, int smooth)
 {
@@ -18,12 +18,11 @@
 	if(dst == nil || src == nil)
 		return;
 
-	_setdrawop(dst->display, S);
-
 	_lockdisplay(dst->display);
 	a = bufimage(dst->display, 1+4+4*4+4+2*4+3*3*4+1);
 	if(a == nil){
 		_unlockdisplay(dst->display);
+		fprint(2, "affinewarp: %r\n");
 		return;
 	}
 	a[0] = 'a';
--