diff options
-rw-r--r-- | src/libdraw/alloc.c | 2 | ||||
-rw-r--r-- | src/libdraw/buildfont.c | 2 | ||||
-rw-r--r-- | src/libdraw/font.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/libdraw/alloc.c b/src/libdraw/alloc.c index 50b96fd8..c1fbe5a2 100644 --- a/src/libdraw/alloc.c +++ b/src/libdraw/alloc.c @@ -196,7 +196,7 @@ _freeimage1(Image *i) 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 ba32e775..fa50b6ef 100644 --- a/src/libdraw/buildfont.c +++ b/src/libdraw/buildfont.c @@ -129,7 +129,7 @@ freefont(Font *f) } 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 7aa649e8..8370606e 100644 --- a/src/libdraw/font.c +++ b/src/libdraw/font.c @@ -132,7 +132,7 @@ agefont(Font *f) 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; |