tCleanup fonts on program termination - xmenu - drop-down menu for X11
 (HTM) git clone git://git.z3bra.org/xmenu.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
 (DIR) commit 9ecad90506da66bd70fa52789aa60e8af79f5a02
 (DIR) parent ef10488524d19fc455dafb8fc84fbbe898ae0c85
 (HTM) Author: Willy Goiffon <dev@z3bra.org>
       Date:   Wed, 20 Nov 2019 08:45:24 +0100
       
       Cleanup fonts on program termination
       
       Diffstat:
         M font.c                              |       5 ++++-
         M xmenu.c                             |       1 +
       
       2 files changed, 5 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/font.c b/font.c
       t@@ -2,6 +2,7 @@
        
        /* internal variable holding last loaded font */
        static FT_Face face;
       +static FT_Library ft;
        
        int
        xft_loadfont(char *query, double dpi)
       t@@ -9,7 +10,6 @@ xft_loadfont(char *query, double dpi)
                FcResult result;
                FcPattern *pattern, *match;
                FcValue index, file, pxsz;
       -        FT_Library ft;
        
                if (FcInit() != FcTrue)
                        return -1;
       t@@ -51,6 +51,8 @@ xft_loadfont(char *query, double dpi)
        
                FT_Set_Char_Size(face, 0, 64 * pxsz.u.d/(dpi/72.0), dpi, dpi);
        
       +        FcPatternDestroy(match);
       +
                return 0;
        }
        
       t@@ -220,4 +222,5 @@ void
        xft_unload(void)
        {
                FcFini();
       +        FT_Done_FreeType(ft);
        }
 (DIR) diff --git a/xmenu.c b/xmenu.c
       t@@ -192,6 +192,7 @@ main(int argc, char *argv[])
                if (current >= 0)
                        printf("%s\n", entries[current]);
        
       +        xft_unload();
                xcb_disconnect(dpy);
                return 0;
        }