git: 9front

Download patch

ref: b8b55953990b9048f13e25d99383b21d69984656
parent: d25363775dc632e060fbcb42e7792fa533bd4254
parent: 8145ead9316d476f78019924fc3a81266604ef3a
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Tue Jun 25 22:30:43 EDT 2013

merge

--- a/sys/src/cmd/paint.c
+++ b/sys/src/cmd/paint.c
@@ -259,10 +259,16 @@
 		if((tmp = undo[x]) == nil)
 			return;
 		undo[x] = nil;
-		expand(tmp->r);
-		draw(canvas, tmp->r, tmp, nil, tmp->r.min);
-		update(&tmp->r);
-		freeimage(tmp);
+		if(canvas != nil && canvas->chan != tmp->chan){
+			freeimage(canvas);
+			canvas = tmp;
+			update(nil);
+		} else {
+			expand(tmp->r);
+			draw(canvas, tmp->r, tmp, nil, tmp->r.min);
+			update(&tmp->r);
+			freeimage(tmp);
+		}
 	}
 }
 
--- a/sys/src/cmd/samterm/main.c
+++ b/sys/src/cmd/samterm/main.c
@@ -310,6 +310,9 @@
 {
 	Text *t=(Text *)l->user1;
 
+	if(t->tag == Untagged)
+		return;
+
 	switch(but){
 	case 1:
 		outTsll(Torigin, t->tag, l->origin, p0);
--