From d98de6810791b185f932e223804a7d27d74772ed Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 22 Mar 2015 06:37:26 +0100 Subject: [PATCH] Create menu_driver_render_messagebox --- menu/menu_driver.c | 18 ++++++++++++++++++ menu/menu_driver.h | 2 ++ menu/menu_entries_cbs_iterate.c | 25 +++++-------------------- menu/menu_input.c | 8 ++------ 4 files changed, 27 insertions(+), 26 deletions(-) diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 449533ba98..e11a151baf 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -274,6 +274,24 @@ void menu_driver_free(menu_handle_t *menu) driver->menu_ctx->free(menu); } +void menu_driver_render_messagebox(const char *msg) +{ + driver_t *driver = driver_get_ptr(); + if (!driver) + return; + if (!driver->video_data) + return; + if (!driver->menu_ctx) + return; + if (!driver->menu_ctx->render_messagebox) + return; + if (!msg) + return; + + if (msg[0] != '\0') + driver->menu_ctx->render_messagebox(msg); +} + void menu_driver_render(void) { driver_t *driver = driver_get_ptr(); diff --git a/menu/menu_driver.h b/menu/menu_driver.h index da38d7fe34..db21fdf193 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -312,6 +312,8 @@ void menu_driver_render(void); void menu_driver_toggle(bool latch); +void menu_driver_render_messagebox(const char *msg); + #ifdef __cplusplus } #endif diff --git a/menu/menu_entries_cbs_iterate.c b/menu/menu_entries_cbs_iterate.c index e0ca578729..675d4314a4 100644 --- a/menu/menu_entries_cbs_iterate.c +++ b/menu/menu_entries_cbs_iterate.c @@ -123,12 +123,7 @@ static int load_or_open_zip_iterate(unsigned action) " - OK to open as Folder\n" " - Cancel/Back to Load \n"); - if (driver->video_data && driver->menu_ctx - && driver->menu_ctx->render_messagebox) - { - if (*msg && msg[0] != '\0') - driver->menu_ctx->render_messagebox(msg); - } + menu_driver_render_messagebox(msg); switch (action) { @@ -288,8 +283,7 @@ static int action_iterate_help(const char *label, unsigned action) "Press Accept/OK to continue.", desc[0], desc[1], desc[2], desc[3], desc[4], desc[5], desc[6], desc[7]); - if (driver->video_data && driver->menu_ctx && driver->menu_ctx->render_messagebox) - driver->menu_ctx->render_messagebox(msg); + menu_driver_render_messagebox(msg); if (action == MENU_ACTION_OK) menu_list_pop(menu->menu_list->menu_stack, NULL); @@ -339,12 +333,7 @@ static int action_iterate_info(const char *label, unsigned action) setting_get_description(needle, msg, sizeof(msg)); - if (driver->video_data && driver->menu_ctx && - driver->menu_ctx->render_messagebox) - { - if (*msg && msg[0] != '\0') - driver->menu_ctx->render_messagebox(msg); - } + menu_driver_render_messagebox(msg); if (action == MENU_ACTION_OK) menu_list_pop(menu->menu_list->menu_stack, &menu->navigation.selection_ptr); @@ -536,9 +525,7 @@ static int action_iterate_menu_viewport(const char *label, unsigned action) base_msg, custom->x, custom->y, custom->width, custom->height); } - if (driver->video_data && driver->menu_ctx && - driver->menu_ctx->render_messagebox) - driver->menu_ctx->render_messagebox(msg); + menu_driver_render_messagebox(msg); if (!custom->width) custom->width = stride_x; @@ -581,9 +568,7 @@ static int action_iterate_message(const char *label, unsigned action) if (!menu) return -1; - if (driver->video_data && driver->menu_ctx - && driver->menu_ctx->render_messagebox) - driver->menu_ctx->render_messagebox(menu->message_contents); + menu_driver_render_messagebox(menu->message_contents); if (action == MENU_ACTION_OK) menu_list_pop_stack(menu->menu_list); diff --git a/menu/menu_input.c b/menu/menu_input.c index 27fa21dc01..fdbcf01011 100644 --- a/menu/menu_input.c +++ b/menu/menu_input.c @@ -395,9 +395,7 @@ int menu_input_bind_iterate(void) input_config_bind_map[ menu->binds.begin - MENU_SETTINGS_BIND_BEGIN].desc); - if (driver->video_data && driver->menu_ctx - && driver->menu_ctx->render_messagebox) - driver->menu_ctx->render_messagebox( msg); + menu_driver_render_messagebox(msg); driver->block_input = true; menu_input_poll_bind_state(&binds); @@ -443,9 +441,7 @@ int menu_input_bind_iterate_keyboard(void) menu->binds.begin - MENU_SETTINGS_BIND_BEGIN].desc, timeout); - if (driver->video_data && driver->menu_ctx - && driver->menu_ctx->render_messagebox) - driver->menu_ctx->render_messagebox(msg); + menu_driver_render_messagebox(msg); if (timeout <= 0) {