From 13536693d89077daa3cde370bb43decbf24ec212 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Thu, 9 Apr 2020 19:10:00 +0200 Subject: NXdispatch.c: free font data on exit helps to avoid valgrind warnings --- nx-X11/programs/Xserver/hw/nxagent/Font.c | 9 ++++++++- nx-X11/programs/Xserver/hw/nxagent/Font.h | 1 + nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/nx-X11/programs/Xserver/hw/nxagent/Font.c b/nx-X11/programs/Xserver/hw/nxagent/Font.c index 200a6fa61..dcbd6949a 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Font.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Font.c @@ -102,7 +102,6 @@ static XFontStruct *nxagentLoadBestQueryFont(Display* dpy, char *fontName, FontP static XFontStruct *nxagentLoadQueryFont(register Display *dpy , char *fontName , FontPtr pFont); int nxagentFreeFont(XFontStruct *fs); static Bool nxagentGetFontServerPath(char * fontServerPath, int size); - static char * nxagentMakeScalableFontName(const char *fontName, int scalableResolution); RESTYPE RT_NX_FONT; @@ -158,6 +157,14 @@ static struct _nxagentFailedToReconnectFonts int index; } nxagentFailedToReconnectFonts = {NULL, NULL, 0, 0}; +static void nxagentFreeRemoteFontList(nxagentFontList *listRec); + +void nxagentFreeFontData(void) +{ + nxagentFreeFontCache(); + nxagentFreeRemoteFontList(&nxagentRemoteFontList); +} + /* * This is used if nxagentFullGeneration is true in CloseDisplay(). */ diff --git a/nx-X11/programs/Xserver/hw/nxagent/Font.h b/nx-X11/programs/Xserver/hw/nxagent/Font.h index c5b236562..a8eae6554 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Font.h +++ b/nx-X11/programs/Xserver/hw/nxagent/Font.h @@ -82,4 +82,5 @@ void nxagentVerifyDefaultFontPath(void); int nxagentSplitString(char *string, char *fields[], int nfields, char *sep); +void nxagentFreeFontData(void); #endif /* __Font_H__ */ diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c index 5315f86bc..8f806093e 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c @@ -581,6 +581,7 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio saveAgentState("TERMINATED"); nxagentFreeAtomMap(); + nxagentFreeFontData(); #endif /* NXAGENT_SERVER */ KillAllClients(); -- cgit v1.2.3