more places where display can be nil
diff --git a/src/libdraw/alloc.c b/src/libdraw/alloc.c
index 50b96fd..c1fbe5a 100644
--- a/src/libdraw/alloc.c
+++ b/src/libdraw/alloc.c
@@ -196,7 +196,7 @@
Display *d;
Image *w;
- if(i == 0)
+ if(i == 0 || i->display == 0)
return 0;
/* make sure no refresh events occur on this if we block in the write */
d = i->display;
diff --git a/src/libdraw/buildfont.c b/src/libdraw/buildfont.c
index ba32e77..fa50b6e 100644
--- a/src/libdraw/buildfont.c
+++ b/src/libdraw/buildfont.c
@@ -129,7 +129,7 @@
}
for(i=0; i<f->nsubf; i++){
s = f->subf[i].f;
- if(s && s!=display->defaultsubfont)
+ if(s && (!display || s!=display->defaultsubfont))
freesubfont(s);
}
freeimage(f->cacheimage);
diff --git a/src/libdraw/font.c b/src/libdraw/font.c
index 7aa649e..8370606 100644
--- a/src/libdraw/font.c
+++ b/src/libdraw/font.c
@@ -132,7 +132,7 @@
if(s->age){
if(s->age<SUBFAGE && s->cf->name != nil){
/* clean up */
- if(s->f != display->defaultsubfont)
+ if(display==nil || s->f != display->defaultsubfont)
freesubfont(s->f);
s->cf = nil;
s->f = nil;