plan9port

fork of plan9port with libvec, libstr and libsdb
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:
Msrc/libdraw/alloc.c | 3+++
Msrc/libdraw/init.c | 4++--
Msrc/libdraw/x11-init.c | 4+++-
3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/libdraw/alloc.c b/src/libdraw/alloc.c @@ -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 @@ -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 @@ -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;