Expand font_driver_free

This commit is contained in:
twinaphex 2015-12-05 10:54:53 +01:00
parent e196fdf141
commit a26e64e24d
6 changed files with 12 additions and 6 deletions

View File

@ -110,7 +110,7 @@ static void d3d_deinitialize(d3d_video_t *d3d)
if (!d3d) if (!d3d)
return; return;
font_driver_free(); font_driver_free(NULL);
d3d_deinit_chain(d3d); d3d_deinit_chain(d3d);
} }

View File

@ -1934,7 +1934,7 @@ static void gl_free(void *data)
} }
#endif #endif
font_driver_free(); font_driver_free(NULL);
gl_shader_deinit(gl); gl_shader_deinit(gl);
#ifndef NO_GL_FF_VERTEX #ifndef NO_GL_FF_VERTEX

View File

@ -342,6 +342,8 @@ static void vita2d_gfx_free(void *data)
vita->texture = NULL; vita->texture = NULL;
} }
font_driver_free(NULL);
RARCH_LOG("vita2d_gfx_free() done\n"); RARCH_LOG("vita2d_gfx_free() done\n");
} }

View File

@ -161,13 +161,17 @@ void font_driver_render_msg(void *font_data, const char *msg, const struct font_
font_ctx->render_msg(font_data ? font_data : driver->font_osd_data, msg, params); font_ctx->render_msg(font_data ? font_data : driver->font_osd_data, msg, params);
} }
void font_driver_free(void) void font_driver_free(void *data)
{ {
driver_t *driver = driver_get_ptr(); driver_t *driver = driver_get_ptr();
const font_renderer_t *font_ctx = (const font_renderer_t*)driver->font_osd_driver; const font_renderer_t *font_ctx = (const font_renderer_t*)driver->font_osd_driver;
if (font_ctx->free) if (font_ctx->free)
font_ctx->free(driver->font_osd_data); font_ctx->free(data ? data : driver->font_osd_data);
if (data)
return;
driver->font_osd_data = NULL; driver->font_osd_data = NULL;
driver->font_osd_driver = NULL; driver->font_osd_driver = NULL;
} }

View File

@ -65,7 +65,7 @@ bool font_driver_has_render_msg(void);
void font_driver_render_msg(void *data, const char *msg, const struct font_params *params); void font_driver_render_msg(void *data, const char *msg, const struct font_params *params);
void font_driver_free(void); void font_driver_free(void *data);
bool font_driver_init_first(void *data, const char *font_path, float font_size, bool font_driver_init_first(void *data, const char *font_path, float font_size,
enum font_driver_render_api api); enum font_driver_render_api api);

View File

@ -178,7 +178,7 @@ void menu_display_free_main_font(void)
if (disp && disp->font.buf) if (disp && disp->font.buf)
{ {
driver->font_osd_driver->free(disp->font.buf); font_driver_free(disp->font.buf);
disp->font.buf = NULL; disp->font.buf = NULL;
} }
} }