diff options
Diffstat (limited to 'src/twm.c')
-rw-r--r-- | src/twm.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -813,6 +813,25 @@ CreateFonts(void) Scr->HaveFonts = TRUE; } +static void +DestroyFonts(void) +{ + for (int i = 0; i < NumScreens; ++i) { + ScreenInfo *scr = ScreenList[i]; + + if (!scr) { + continue; + } + + DestroyFont(&scr->TitleBarFont); + DestroyFont(&scr->MenuFont); + DestroyFont(&scr->IconFont); + DestroyFont(&scr->SizeFont); + DestroyFont(&scr->IconManagerFont); + DestroyFont(&scr->DefaultFont); + } +} + void RestoreWithdrawnLocation(TwmWindow *tmp) { @@ -903,8 +922,11 @@ Done(XtPointer client_data _X_UNUSED, XtSignalId *si2 _X_UNUSED) { if (dpy) { Reborder(CurrentTime); + DestroyFonts(); XCloseDisplay(dpy); } + + DestroySession(); exit(EXIT_SUCCESS); } |