diff options
| author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-06-26 02:30:43 +0200 |
|---|---|---|
| committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-06-26 02:30:43 +0200 |
| commit | 97a17520c255b6aacf7d22756e0e5e4b258478b2 (patch) | |
| tree | 654e5fe8f81a06dd3e97c483ff19fadb84ea79af | |
| parent | cf38ab75fc7549ab7c7e3f146228a821ae68926c (diff) | |
| parent | 3b1e582fc6dc1904a28b1cf71ea0b7e1c47f3f35 (diff) | |
| download | plan9front-97a17520c255b6aacf7d22756e0e5e4b258478b2.tar.xz | |
merge
| -rw-r--r-- | sys/src/cmd/paint.c | 14 | ||||
| -rw-r--r-- | sys/src/cmd/samterm/main.c | 3 |
2 files changed, 13 insertions, 4 deletions
diff --git a/sys/src/cmd/paint.c b/sys/src/cmd/paint.c index dafb29fa4..31996c3f1 100644 --- a/sys/src/cmd/paint.c +++ b/sys/src/cmd/paint.c @@ -259,10 +259,16 @@ restore(int n) 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); + } } } diff --git a/sys/src/cmd/samterm/main.c b/sys/src/cmd/samterm/main.c index 6ee72c94a..6f47e455c 100644 --- a/sys/src/cmd/samterm/main.c +++ b/sys/src/cmd/samterm/main.c @@ -310,6 +310,9 @@ scrorigin(Flayer *l, int but, long p0) { Text *t=(Text *)l->user1; + if(t->tag == Untagged) + return; + switch(but){ case 1: outTsll(Torigin, t->tag, l->origin, p0); |
