diff --git a/menu/menu_display.c b/menu/menu_display.c index 6b79ca6a3b..8ffc3a0c65 100644 --- a/menu/menu_display.c +++ b/menu/menu_display.c @@ -290,5 +290,13 @@ void menu_display_timedate(char *s, size_t len, unsigned time_mode) void menu_display_msg_queue_push(const char *msg, unsigned prio, unsigned duration, bool flush) { + rarch_main_msg_queue_push(msg, prio, duration, flush); + + if (ui_companion_is_on_foreground()) + { + const ui_companion_driver_t *ui = ui_companion_get_ptr(); + if (ui->msg_queue_push) + ui->msg_queue_push(msg, prio, duration, flush); + } } diff --git a/menu/menu_iterate.c b/menu/menu_iterate.c index 754989e283..a31a1d1c69 100644 --- a/menu/menu_iterate.c +++ b/menu/menu_iterate.c @@ -555,11 +555,11 @@ int menu_iterate_render(void) if (menu->state.do_messagebox && menu->state.msg[0] != '\0') { - const ui_companion_driver_t *ui = ui_companion_get_ptr(); if (driver->render_messagebox) driver->render_messagebox(menu->state.msg); if (ui_companion_is_on_foreground()) { + const ui_companion_driver_t *ui = ui_companion_get_ptr(); if (ui->render_messagebox) ui->render_messagebox(menu->state.msg); } diff --git a/ui/drivers/ui_cocoa.m b/ui/drivers/ui_cocoa.m index 1185c544c3..313bf0ae43 100644 --- a/ui/drivers/ui_cocoa.m +++ b/ui/drivers/ui_cocoa.m @@ -498,5 +498,6 @@ const ui_companion_driver_t ui_companion_cocoa = { ui_companion_cocoa_notify_list_pushed, NULL, NULL, + NULL, "cocoa", }; diff --git a/ui/drivers/ui_cocoatouch.m b/ui/drivers/ui_cocoatouch.m index 76c25d1d18..9f7792dd6c 100644 --- a/ui/drivers/ui_cocoatouch.m +++ b/ui/drivers/ui_cocoatouch.m @@ -576,6 +576,7 @@ const ui_companion_driver_t ui_companion_cocoatouch = { ui_companion_cocoatouch_notify_content_loaded, ui_companion_cocoatouch_notify_list_pushed, ui_companion_cocoatouch_notify_refresh, + NULL, ui_companion_cocoatouch_render_messagebox, "cocoatouch", }; diff --git a/ui/drivers/ui_null.c b/ui/drivers/ui_null.c index 6290763bd4..f0d6d2ad44 100644 --- a/ui/drivers/ui_null.c +++ b/ui/drivers/ui_null.c @@ -87,5 +87,6 @@ const ui_companion_driver_t ui_companion_null = { ui_companion_null_notify_list_pushed, NULL, NULL, + NULL, "null", }; diff --git a/ui/drivers/ui_qt.c b/ui/drivers/ui_qt.c index a7e64af44f..7e530c3e64 100644 --- a/ui/drivers/ui_qt.c +++ b/ui/drivers/ui_qt.c @@ -130,5 +130,6 @@ const ui_companion_driver_t ui_companion_qt = { ui_companion_qt_notify_list_pushed, NULL, NULL, + NULL, "qt", }; diff --git a/ui/ui_companion_driver.h b/ui/ui_companion_driver.h index b406abb606..1714c55bda 100644 --- a/ui/ui_companion_driver.h +++ b/ui/ui_companion_driver.h @@ -42,6 +42,7 @@ typedef struct ui_companion_driver void (*notify_content_loaded)(void *data); void (*notify_list_loaded)(void *data, file_list_t *list, file_list_t *menu_list); void (*notify_refresh)(void *data); + void (*msg_queue_push)(const char *msg, unsigned priority, unsigned duration, bool flush); void (*render_messagebox)(const char *msg); const char *ident; } ui_companion_driver_t;