tLazy font unloading too. - st - [fork] customized build of st, the simple term… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 8f47c4a4dea7272d72833d2ae26eacc3896d8f5c | |
parent 62502a88e94dd908fdd4418899afdd09a4de3bea | |
Author: Christoph Lohmann <[email protected]> | |
Date: Sat, 11 May 2013 21:59:55 +0200 | |
Lazy font unloading too. | |
Diffstat: | |
M st.c | 25 +++++++++++++------------ | |
1 file changed, 13 insertions(+), 12 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -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); | |
t@@ -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; | |
t@@ -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 |