diff --git a/menu/menu.c b/menu/menu.c index a95c7506fe..8356b903f7 100644 --- a/menu/menu.c +++ b/menu/menu.c @@ -207,6 +207,8 @@ void *menu_init(const void *data) if (!menu->animation) goto error; + rarch_assert(menu->msg_queue = msg_queue_new(8)); + return menu; error: if (menu->menu_list) @@ -269,6 +271,10 @@ void menu_free(void *data) libretro_free_system_info(&g_extern.menu.info); #endif + if (menu->msg_queue) + msg_queue_free(menu->msg_queue); + menu->msg_queue = NULL; + menu_animation_free(menu->animation); menu->animation = NULL; diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 0cea38bb17..52986889ae 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -21,6 +21,7 @@ #include #include #include +#include #include "menu_animation.h" #include "menu_list.h" #include "menu_database.h" @@ -128,6 +129,7 @@ typedef struct */ char message_contents[PATH_MAX_LENGTH]; + msg_queue_t *msg_queue; char default_glslp[PATH_MAX_LENGTH]; char default_cgp[PATH_MAX_LENGTH];