From d52a1b20e33dd0f61d54afd7e828fd82f90ad1bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Sat, 25 Apr 2015 20:26:31 -0300 Subject: [PATCH 1/4] (XBM) Fix font leak --- menu/drivers/xmb.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 472272419a..f19d4c8698 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1981,6 +1981,7 @@ static void xmb_context_destroy(void) unsigned i; xmb_handle_t *xmb = NULL; menu_handle_t *menu = menu_driver_get_ptr(); + driver_t *driver = driver_get_ptr(); if (!menu) return; @@ -2004,6 +2005,9 @@ static void xmb_context_destroy(void) glDeleteTextures(1, &node->icon); glDeleteTextures(1, &node->content_icon); } + + if (menu->font.buf) + driver->font_osd_driver->free(menu->font.buf); } static void xmb_toggle(bool menu_on) From 866654e3c959fccee6e45a0a33bb28bb4334bfa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Sat, 25 Apr 2015 20:34:21 -0300 Subject: [PATCH 2/4] (XMB) Free menu_stack_old and selection_buf_old --- menu/drivers/xmb.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index f19d4c8698..291c82c4a7 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1584,6 +1584,9 @@ static void xmb_free(void *data) if (!xmb) return; + free(xmb->menu_stack_old); + free(xmb->selection_buf_old); + gl_coord_array_free(&xmb->raster_block.carr); free(menu->userdata); From 1532ab3a584779af504411e552858b807e2e4c59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Sat, 25 Apr 2015 20:42:12 -0300 Subject: [PATCH 3/4] (Menu) Actually free menu in menu_free() --- menu/menu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/menu/menu.c b/menu/menu.c index 0d8d14f3e5..bae5b349b1 100644 --- a/menu/menu.c +++ b/menu/menu.c @@ -275,6 +275,8 @@ void menu_free(menu_handle_t *menu) if (global->core_info_current) free(global->core_info_current); + + free(menu); } void menu_apply_deferred_settings(void) From c432811436b017cdabd207bb652291a42156c6d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Sat, 25 Apr 2015 21:04:52 -0300 Subject: [PATCH 4/4] (RPNG) Free zlib stream --- libretro-common/formats/png/rpng_fbio.c | 3 +++ libretro-common/formats/png/rpng_nbio.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/libretro-common/formats/png/rpng_fbio.c b/libretro-common/formats/png/rpng_fbio.c index 81f4ee494a..d188bbc502 100644 --- a/libretro-common/formats/png/rpng_fbio.c +++ b/libretro-common/formats/png/rpng_fbio.c @@ -280,5 +280,8 @@ end: free(*data); free(rpng.idat_buf.data); free(rpng.process.inflate_buf); + + if (rpng.process.stream) + zlib_stream_free(rpng.process.stream); return ret; } diff --git a/libretro-common/formats/png/rpng_nbio.c b/libretro-common/formats/png/rpng_nbio.c index 6ad2fd4475..19d1c52712 100644 --- a/libretro-common/formats/png/rpng_nbio.c +++ b/libretro-common/formats/png/rpng_nbio.c @@ -221,6 +221,8 @@ void rpng_nbio_load_image_free(struct rpng_t *rpng) free(rpng->idat_buf.data); if (rpng->process.inflate_buf) free(rpng->process.inflate_buf); + if (rpng->process.stream) + zlib_stream_free(rpng->process.stream); if (rpng) free(rpng);