diff --git a/menu/menu.c b/menu/menu.c index b750d73620..9b5f773ac7 100644 --- a/menu/menu.c +++ b/menu/menu.c @@ -378,6 +378,7 @@ void menu_apply_deferred_settings(void) int menu_iterate(retro_input_t input, retro_input_t old_input, retro_input_t trigger_input) { + static retro_time_t last_clock_update = 0; int32_t ret = 0; unsigned action = menu_input_frame(input, trigger_input); @@ -391,6 +392,12 @@ int menu_iterate(retro_input_t input, menu->dt = IDEAL_DT / 4; menu->old_time = menu->cur_time; + if (menu->cur_time - last_clock_update > 1000000 && g_settings.menu.timedate_enable) + { + g_runloop.frames.video.current.menu.label.is_updated = true; + last_clock_update = menu->cur_time; + } + if (driver.menu_ctx && driver.menu_ctx->entry_iterate) ret = driver.menu_ctx->entry_iterate(action); diff --git a/retroarch.c b/retroarch.c index 756198a77d..323e2abcbb 100644 --- a/retroarch.c +++ b/retroarch.c @@ -2295,6 +2295,7 @@ bool rarch_main_command(unsigned cmd) driver.input->poll(driver.input_data); #ifdef HAVE_MENU + g_runloop.frames.video.current.menu.framebuf.dirty = true; if (g_runloop.is_menu) rarch_main_command(RARCH_CMD_VIDEO_SET_BLOCKING_STATE); #endif