Merge pull request #1480 from heuripedes/master

Menu fixes
This commit is contained in:
Twinaphex 2015-03-08 20:40:54 +01:00
commit db7e64c118
2 changed files with 10 additions and 10 deletions

View File

@ -45,10 +45,11 @@ static int rgui_entry_iterate(unsigned action)
if (!menu->menu_list)
return -1;
if (action != MENU_ACTION_NOOP || menu->need_refresh)
if (action != MENU_ACTION_NOOP || menu->need_refresh ||
g_runloop.frames.video.current.menu.label.is_updated ||
g_runloop.frames.video.current.menu.animation.is_active)
{
g_runloop.frames.video.current.menu.framebuf.dirty = true;
g_runloop.frames.video.current.menu.label.is_updated = true;
}
@ -347,7 +348,8 @@ static void rgui_render(void)
&& !g_runloop.frames.video.current.menu.label.is_updated)
return;
/* framebuf.dirty will be cleared in set_texture() */
/* ensures the framebuffer will be rendered on the screen */
g_runloop.frames.video.current.menu.framebuf.dirty = true;
g_runloop.frames.video.current.menu.animation.is_active = false;
g_runloop.frames.video.current.menu.label.is_updated = false;

View File

@ -391,17 +391,15 @@ int menu_iterate(retro_input_t input,
menu->dt = IDEAL_DT / 4;
menu->old_time = menu->cur_time;
if (driver.menu_ctx)
{
if (driver.menu_ctx->set_texture)
driver.menu_ctx->set_texture();
if (driver.menu_ctx->entry_iterate)
ret = driver.menu_ctx->entry_iterate(action);
}
if (driver.menu_ctx && driver.menu_ctx->entry_iterate)
ret = driver.menu_ctx->entry_iterate(action);
if (g_runloop.is_menu)
draw_frame();
if (driver.menu_ctx && driver.menu_ctx->set_texture)
driver.menu_ctx->set_texture();
if (ret)
return -1;