diff options
-rw-r--r-- | funkey/fk_instant_play.c | 2 | ||||
-rw-r--r-- | funkey/fk_menu.c | 5 | ||||
-rw-r--r-- | plat_sdl.c | 3 |
3 files changed, 9 insertions, 1 deletions
diff --git a/funkey/fk_instant_play.c b/funkey/fk_instant_play.c index 61e41f4..a0d9451 100644 --- a/funkey/fk_instant_play.c +++ b/funkey/fk_instant_play.c @@ -34,6 +34,7 @@ #include "fk_instant_play.h" #include "core.h" #include "overrides.h" +#include "plat.h" #include "util.h" #ifndef SHELL_CMD_POWERDOWN @@ -152,6 +153,7 @@ void FK_Resume(void) if (resume == RESUME_YES) { resume_slot = AUTOSAVE_SLOT; } + plat_video_menu_leave(); } } diff --git a/funkey/fk_menu.c b/funkey/fk_menu.c index 8028915..1983dd9 100644 --- a/funkey/fk_menu.c +++ b/funkey/fk_menu.c @@ -972,6 +972,8 @@ int FK_RunMenu(SDL_Surface *screen) read_aspect_ratio(); #endif + plat_video_menu_enter(1); + /// ------ Backup currently displayed app screen ------- background_screen = SDL_CreateRGBSurface(SDL_SWSURFACE, screen->w, screen->h, 32, 0, 0, 0, 0); @@ -1479,7 +1481,8 @@ int FK_RunMenu(SDL_Surface *screen) background_screen = NULL; } MENU_DEBUG_PRINTF("Leave Menu\n"); - plat_video_menu_leave(); + if (returnCode != MENU_RETURN_MENU) + plat_video_menu_leave(); return returnCode; } @@ -179,6 +179,9 @@ finish: void plat_video_menu_enter(int is_rom_loaded) { + if (g_menuscreen_ptr) + return; + SDL_LockSurface(screen); memcpy(g_menubg_src_ptr, screen->pixels, g_menubg_src_h * g_menubg_src_pp * sizeof(uint16_t)); SDL_UnlockSurface(screen); |