| tdebugging help - plan9port - [fork] Plan 9 from user space | |
| git clone git://src.adamsgaard.dk/plan9port | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 148f25d3517dcdb32c566506e0cb0d6e632e4d23 | |
| parent 3fd51250be8cd6f6ac5df5342d3b81e6ed1c01a9 | |
| Author: rsc <devnull@localhost> | |
| Date: Mon, 7 Nov 2005 02:46:38 +0000 | |
| debugging help | |
| Diffstat: | |
| M src/libdraw/alloc.c | 3 +++ | |
| M src/libdraw/init.c | 4 ++-- | |
| M src/libdraw/x11-init.c | 4 +++- | |
| 3 files changed, 8 insertions(+), 3 deletions(-) | |
| --- | |
| diff --git a/src/libdraw/alloc.c b/src/libdraw/alloc.c | |
| t@@ -231,6 +231,9 @@ freeimage(Image *i) | |
| { | |
| int ret; | |
| + if(i == screen) | |
| + abort(); | |
| + | |
| ret = _freeimage1(i); | |
| free(i); | |
| return ret; | |
| diff --git a/src/libdraw/init.c b/src/libdraw/init.c | |
| t@@ -202,8 +202,8 @@ bufimage(Display *d, int n) | |
| { | |
| uchar *p; | |
| - if(n<0 || n>d->bufsize){ | |
| -abort(); | |
| + if(n<0 || d == nil || n>d->bufsize){ | |
| + abort(); | |
| werrstr("bad count in bufimage"); | |
| return 0; | |
| } | |
| diff --git a/src/libdraw/x11-init.c b/src/libdraw/x11-init.c | |
| t@@ -137,8 +137,10 @@ getwindow(Display *d, int ref) | |
| Image *i; | |
| Image *oi; | |
| - if(_x.destroyed) | |
| + if(_x.destroyed){ | |
| postnote(PNGROUP, getpgrp(), "hangup"); | |
| + return -1; | |
| + } | |
| if(xreplacescreenimage() == 0) | |
| return 0; | |