diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index 1199da2e07..030d6923f4 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -1043,7 +1043,7 @@ static void *mui_init(void **userdata) if (!menu) goto error; - if (!menu_display_driver_init_first()) + if (!menu_display_ctl(MENU_DISPLAY_CTL_INIT_FIRST_DRIVER, NULL)) goto error; mui = (mui_handle_t*)calloc(1, sizeof(mui_handle_t)); diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index cfd424b20f..b6f927b380 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1986,7 +1986,7 @@ static void *xmb_init(void **userdata) if (!menu) goto error; - if (!menu_display_driver_init_first()) + if (!menu_display_ctl(MENU_DISPLAY_CTL_INIT_FIRST_DRIVER, NULL)) goto error; video_driver_get_size(&width, &height); diff --git a/menu/drivers/zarch.c b/menu/drivers/zarch.c index 38e3d11744..3e0e7d33df 100644 --- a/menu/drivers/zarch.c +++ b/menu/drivers/zarch.c @@ -1059,7 +1059,7 @@ static void *zarch_init(void **userdata) if (!menu) goto error; - if (!menu_display_driver_init_first()) + if (!menu_display_ctl(MENU_DISPLAY_CTL_INIT_FIRST_DRIVER, NULL)) goto error; zui = (zui_t*)calloc(1, sizeof(zui_t)); diff --git a/menu/menu_display.c b/menu/menu_display.c index b699baba55..c4cfa7003a 100644 --- a/menu/menu_display.c +++ b/menu/menu_display.c @@ -145,7 +145,7 @@ static bool menu_display_check_compatibility( return false; } -bool menu_display_driver_init_first(void) +static bool menu_display_driver_init_first(void) { unsigned i; menu_display_t *disp = menu_display_get_ptr(); @@ -468,6 +468,11 @@ bool menu_display_ctl(enum menu_display_ctl_state state, void *data) *dpi = menu_dpi_override_value; } break; + case MENU_DISPLAY_CTL_INIT_FIRST_DRIVER: + return menu_display_driver_init_first(); + case MENU_DISPLAY_CTL_NONE: + default: + break; } return true; diff --git a/menu/menu_display.h b/menu/menu_display.h index 6f564b753a..73f20c7c14 100644 --- a/menu/menu_display.h +++ b/menu/menu_display.h @@ -33,7 +33,8 @@ extern "C" { enum menu_display_ctl_state { - MENU_DISPLAY_CTL_SET_VIEWPORT = 0, + MENU_DISPLAY_CTL_NONE = 0, + MENU_DISPLAY_CTL_SET_VIEWPORT, MENU_DISPLAY_CTL_UNSET_VIEWPORT, MENU_DISPLAY_CTL_GET_FRAMEBUFFER_DIRTY_FLAG, MENU_DISPLAY_CTL_SET_FRAMEBUFFER_DIRTY_FLAG, @@ -55,6 +56,7 @@ enum menu_display_ctl_state MENU_DISPLAY_CTL_FRAMEBUF_DEINIT, MENU_DISPLAY_CTL_DEINIT, MENU_DISPLAY_CTL_INIT, + MENU_DISPLAY_CTL_INIT_FIRST_DRIVER, MENU_DISPLAY_CTL_FONT_DATA_INIT, MENU_DISPLAY_CTL_SET_FONT_DATA_INIT, MENU_DISPLAY_CTL_FONT_SIZE, @@ -137,8 +139,6 @@ void menu_display_msg_queue_push(const char *msg, unsigned prio, unsigned durati bool flush); -bool menu_display_driver_init_first(void); - void menu_display_draw(float x, float y, unsigned width, unsigned height, struct gfx_coords *coords,