diff --git a/frontend/menu/menu_common.c b/frontend/menu/menu_common.c index fe7e4b76ef..8997dbb572 100644 --- a/frontend/menu/menu_common.c +++ b/frontend/menu/menu_common.c @@ -319,3 +319,13 @@ void rgui_list_get_last(const rgui_list_t *list, } #endif + +void menu_init(void) +{ + rgui = rgui_init(); +} + +void menu_free(void) +{ + rgui_free(rgui); +} diff --git a/frontend/menu/menu_common.h b/frontend/menu/menu_common.h index 6b64521fa2..8d23028c5d 100644 --- a/frontend/menu/menu_common.h +++ b/frontend/menu/menu_common.h @@ -170,6 +170,9 @@ void menu_init(void); bool menu_iterate(void); void menu_free(void); +rgui_handle_t *rgui_init(void); +void rgui_free(rgui_handle_t *rgui); + #ifdef HAVE_SHADER_MANAGER void shader_manager_init(rgui_handle_t *rgui); void shader_manager_get_str(struct gfx_shader *shader, diff --git a/frontend/menu/rgui.c b/frontend/menu/rgui.c index 5925ff4bda..ae85d456e2 100644 --- a/frontend/menu/rgui.c +++ b/frontend/menu/rgui.c @@ -181,10 +181,14 @@ static bool menu_type_is_shader_browser(unsigned type) static int rgui_iterate(rgui_handle_t *rgui, rgui_action_t action); -static rgui_handle_t *rgui_init(const char *base_path, - uint16_t *framebuf, size_t framebuf_pitch, - const uint8_t *font_bmp_buf, const uint8_t *font_bin_buf) +rgui_handle_t *rgui_init(void) { + const char *base_path = g_settings.rgui_browser_directory; + uint16_t *framebuf = menu_framebuf; + size_t framebuf_pitch = RGUI_WIDTH * sizeof(uint16_t); + const uint8_t *font_bmp_buf = NULL; + const uint8_t *font_bin_buf = bitmap_bin; + rgui_handle_t *rgui = (rgui_handle_t*)calloc(1, sizeof(*rgui)); rgui->frame_buf = framebuf; @@ -216,7 +220,7 @@ static rgui_handle_t *rgui_init(const char *base_path, return rgui; } -static void rgui_free(rgui_handle_t *rgui) +void rgui_free(rgui_handle_t *rgui) { rgui_list_free(rgui->menu_stack); rgui_list_free(rgui->selection_buf); @@ -1955,18 +1959,6 @@ enum RMENU API ============================================================ */ -void menu_init(void) -{ - rgui = rgui_init(g_settings.rgui_browser_directory, - menu_framebuf, RGUI_WIDTH * sizeof(uint16_t), - NULL, bitmap_bin); -} - -void menu_free(void) -{ - rgui_free(rgui); -} - static uint16_t trigger_state = 0; static int menu_input_process(void *data, void *state) diff --git a/frontend/menu/rmenu.c b/frontend/menu/rmenu.c index 0fd8195e3f..cd144b5fd8 100644 --- a/frontend/menu/rmenu.c +++ b/frontend/menu/rmenu.c @@ -3234,7 +3234,7 @@ int rgui_iterate(rgui_handle_t *rgui, uint64_t input) return -1; } -static rgui_handle_t *rmenu_init(void) +rgui_handle_t *rgui_init(void) { rgui_handle_t *rgui = (rgui_handle_t*)calloc(1, sizeof(*rgui)); @@ -3268,12 +3268,7 @@ static rgui_handle_t *rmenu_init(void) return rgui; } -void menu_init(void) -{ - rgui = rmenu_init(); -} - -static void rmenu_free(void) +void rgui_free(rgui_handle_t *rgui) { #ifdef _XBOX1 #ifdef HAVE_MENU_PANEL @@ -3318,11 +3313,6 @@ static void rmenu_free(void) free(rgui); } -void menu_free(void) -{ - rmenu_free(); -} - bool menu_iterate(void) { static uint64_t input = 0;