mirror of
https://github.com/libretro/RetroArch
synced 2025-03-18 13:20:57 +00:00
On iOS, pause while in background (#14907)
This commit is contained in:
parent
940ad64d41
commit
10ace666e1
@ -1405,6 +1405,8 @@
|
||||
"-DHAVE_PATCH",
|
||||
"-DHAVE_UPDATE_CORE_INFO",
|
||||
"-DHAVE_VULKAN",
|
||||
"-D_7ZIP_ST",
|
||||
"-DHAVE_7ZIP",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.dist.ios.RetroArch;
|
||||
PRODUCT_NAME = RetroArch;
|
||||
@ -1513,6 +1515,8 @@
|
||||
"-DHAVE_PATCH",
|
||||
"-DHAVE_UPDATE_CORE_INFO",
|
||||
"-DHAVE_VULKAN",
|
||||
"-D_7ZIP_ST",
|
||||
"-DHAVE_7ZIP",
|
||||
);
|
||||
"OTHER_CFLAGS[arch=*]" = (
|
||||
"-DNS_BLOCK_ASSERTIONS=1",
|
||||
|
@ -75,6 +75,27 @@ static void rarch_draw_observer(CFRunLoopObserverRef observer,
|
||||
CFRunLoopWakeUp(CFRunLoopGetMain());
|
||||
}
|
||||
|
||||
static void rarch_start_draw_observer()
|
||||
{
|
||||
if (iterate_observer && CFRunLoopObserverIsValid(iterate_observer))
|
||||
return;
|
||||
|
||||
if (iterate_observer != NULL)
|
||||
CFRelease(iterate_observer);
|
||||
iterate_observer = CFRunLoopObserverCreate(0, kCFRunLoopBeforeWaiting,
|
||||
true, 0, rarch_draw_observer, 0);
|
||||
CFRunLoopAddObserver(CFRunLoopGetMain(), iterate_observer, kCFRunLoopCommonModes);
|
||||
}
|
||||
|
||||
static void rarch_stop_draw_observer()
|
||||
{
|
||||
if (!iterate_observer || !CFRunLoopObserverIsValid(iterate_observer))
|
||||
return;
|
||||
CFRunLoopObserverInvalidate(iterate_observer);
|
||||
CFRelease(iterate_observer);
|
||||
iterate_observer = NULL;
|
||||
}
|
||||
|
||||
apple_frontend_settings_t apple_frontend_settings;
|
||||
|
||||
void get_ios_version(int *major, int *minor)
|
||||
@ -417,9 +438,7 @@ enum
|
||||
|
||||
rarch_main(argc, argv, NULL);
|
||||
|
||||
iterate_observer = CFRunLoopObserverCreate(0, kCFRunLoopBeforeWaiting,
|
||||
true, 0, rarch_draw_observer, 0);
|
||||
CFRunLoopAddObserver(CFRunLoopGetMain(), iterate_observer, kCFRunLoopCommonModes);
|
||||
rarch_start_draw_observer();
|
||||
|
||||
#ifdef HAVE_MFI
|
||||
extern void *apple_gamecontroller_joypad_init(void *data);
|
||||
@ -427,17 +446,20 @@ enum
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)applicationDidEnterBackground:(UIApplication *)application { }
|
||||
- (void)applicationDidEnterBackground:(UIApplication *)application
|
||||
{
|
||||
rarch_stop_draw_observer();
|
||||
}
|
||||
|
||||
- (void)applicationWillTerminate:(UIApplication *)application
|
||||
{
|
||||
CFRunLoopObserverInvalidate(iterate_observer);
|
||||
CFRelease(iterate_observer);
|
||||
iterate_observer = NULL;
|
||||
rarch_stop_draw_observer();
|
||||
retroarch_main_quit();
|
||||
}
|
||||
|
||||
- (void)applicationDidBecomeActive:(UIApplication *)application
|
||||
{
|
||||
rarch_start_draw_observer();
|
||||
settings_t *settings = config_get_ptr();
|
||||
bool ui_companion_start_on_boot = settings->bools.ui_companion_start_on_boot;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user