diff options
| author | Christoph Lohmann <20h@r-36.net> | 2013-05-11 21:59:55 +0200 | 
|---|---|---|
| committer | Christoph Lohmann <20h@r-36.net> | 2013-05-11 21:59:55 +0200 | 
| commit | 8f47c4a4dea7272d72833d2ae26eacc3896d8f5c (patch) | |
| tree | ab549898f8256fa2dccea92d4fa0b2f063c261d0 | |
| parent | 62502a88e94dd908fdd4418899afdd09a4de3bea (diff) | |
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 | 
