--- a/src/context.c Tue Nov 07 21:13:04 2023 +0100 +++ b/src/context.c Tue Nov 07 21:24:06 2023 +0100 @@ -39,7 +39,7 @@ void asc_context_initialize(void) { if (asc_test_flag(asc_context.flags, ASC_FLAG_INITILIZED)) return; - asc_clear_flag(&asc_context.flags, ASC_FLAG_HAS_ERROR); + memset(&asc_context, 0, sizeof(AscContext)); // initialize error buffer cxBufferInit( @@ -50,9 +50,6 @@ CX_BUFFER_AUTO_EXTEND ); - // initialize data - memset(asc_context.windows, 0, sizeof (asc_context.windows)); - // initialize SDL if (SDL_Init(SDL_INIT_VIDEO) < 0) { asc_error(SDL_GetError()); @@ -71,6 +68,7 @@ for (unsigned int i = 0 ; i < ASC_MAX_WINDOWS ; i++) { asc_window_destroy(&asc_context.windows[i]); } + asc_font_cache_clear(); // quit SDL if (TTF_WasInit())