diff options
author | Christoph Lohmann | 2013-05-11 21:59:55 +0200 |
---|---|---|
committer | Christoph Lohmann | 2013-05-11 21:59:55 +0200 |
commit | 98bd86095a094c553fae9a54d614f691c58530d8 (patch) | |
tree | 4a5a43142683b0e3a522222ab16ed457b5b53457 | |
parent | dcc8eb09e20a94162a6f83cd0a263e28919980e2 (diff) | |
download | aur-98bd86095a094c553fae9a54d614f691c58530d8.tar.gz |
Lazy font unloading too.
-rw-r--r-- | st.c | 25 |
1 files changed, 13 insertions, 12 deletions
@@ -369,6 +369,7 @@ static void xresettitle(void); static void xseturgency(int); static void xsetsel(char*); static void xtermclear(int, int, int, int); +static void xunloadfont(Font *f); static void xunloadfonts(void); static void xresize(int, int); @@ -2734,6 +2735,14 @@ xloadfontset(Font *f) { } void +xunloadfont(Font *f) { + XftFontClose(xw.dpy, f->match); + FcPatternDestroy(f->pattern); + if(f->set) + FcFontSetDestroy(f->set); +} + +void xunloadfonts(void) { int i, ip; @@ -2749,18 +2758,10 @@ xunloadfonts(void) { frccur = -1; frclen = 0; - XftFontClose(xw.dpy, dc.font.match); - FcPatternDestroy(dc.font.pattern); - FcFontSetDestroy(dc.font.set); - XftFontClose(xw.dpy, dc.bfont.match); - FcPatternDestroy(dc.bfont.pattern); - FcFontSetDestroy(dc.bfont.set); - XftFontClose(xw.dpy, dc.ifont.match); - FcPatternDestroy(dc.ifont.pattern); - FcFontSetDestroy(dc.ifont.set); - XftFontClose(xw.dpy, dc.ibfont.match); - FcPatternDestroy(dc.ibfont.pattern); - FcFontSetDestroy(dc.ibfont.set); + xunloadfont(&dc.font); + xunloadfont(&dc.bfont); + xunloadfont(&dc.ifont); + xunloadfont(&dc.ibfont); } void |