summaryrefslogtreecommitdiffstats
path: root/src/libdraw/buildfont.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@swtch.com>2015-02-17 12:16:20 -0500
committerRuss Cox <rsc@swtch.com>2015-02-17 20:51:23 +0000
commit213fc4f6fb26bb5781ea3e489bf4cc5c2aca591e (patch)
treef6a4f5bbb3244133a8b62b835176f09c9346cfe5 /src/libdraw/buildfont.c
parent77f23268f7073b254e91748d4764768bab6d6f1f (diff)
downloadplan9port-213fc4f6fb26bb5781ea3e489bf4cc5c2aca591e.tar.gz
plan9port-213fc4f6fb26bb5781ea3e489bf4cc5c2aca591e.zip
libdraw: autoscale fonts when moving between low and high dpi screens
Change-Id: I6093955b222db89dfe437fb723593b173d888d01 Reviewed-on: https://plan9port-review.googlesource.com/1170 Reviewed-by: Russ Cox <rsc@swtch.com>
Diffstat (limited to 'src/libdraw/buildfont.c')
-rw-r--r--src/libdraw/buildfont.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/libdraw/buildfont.c b/src/libdraw/buildfont.c
index 0f14022e..512bc9d3 100644
--- a/src/libdraw/buildfont.c
+++ b/src/libdraw/buildfont.c
@@ -138,5 +138,23 @@ freefont(Font *f)
free(f->cache);
free(f->subf);
free(f->sub);
+
+ if(f->ondisplaylist) {
+ f->ondisplaylist = 0;
+ if(f->next)
+ f->next->prev = f->prev;
+ else
+ f->display->lastfont = f->prev;
+ if(f->prev)
+ f->prev->next = f->next;
+ else
+ f->display->firstfont = f->next;
+ }
+
+ if(f->lodpi != f)
+ freefont(f->lodpi);
+ if(f->hidpi != f)
+ freefont(f->hidpi);
+
free(f);
}