diff --git a/apple/iOS/menu.m b/apple/iOS/menu.m index 0632eadec4..fb63163f03 100644 --- a/apple/iOS/menu.m +++ b/apple/iOS/menu.m @@ -731,7 +731,7 @@ static void RunActionSheet(const char* title, const struct string_list* items, U if ((self = [super initWithStyle:UITableViewStyleGrouped])) { int i, j; - const rarch_setting_t *setting_data, *setting; + rarch_setting_t *setting_data, *setting; NSMutableArray* settings; _isCustom = core_info_has_custom_config(core.UTF8String); @@ -748,7 +748,7 @@ static void RunActionSheet(const char* title, const struct string_list* items, U _pathToSave = apple_platform.globalConfigFile; } - setting_data = (const rarch_setting_t*)setting_data_get_list(); + setting_data = (rarch_setting_t*)setting_data_get_list(); setting_data_reset(setting_data); setting_data_load_config_path(setting_data, _pathToSave.UTF8String); diff --git a/apple/iOS/platform.m b/apple/iOS/platform.m index 98a2297911..8594a48894 100644 --- a/apple/iOS/platform.m +++ b/apple/iOS/platform.m @@ -47,8 +47,10 @@ void ios_set_bluetooth_mode(NSString* mode) btstack_set_poweron([mode isEqualToString:@"btstack"]); } -static void apple_refresh_frontend_config(const rarch_setting_t* setting) +static void apple_refresh_frontend_config(const void *data) { + const rarch_setting_t *setting = (const rarch_setting_t*)data; + (void)setting; [[RetroArch_iOS get] refreshSystemConfig]; } @@ -63,12 +65,10 @@ const void* apple_get_frontend_settings(void) settings[0] = setting_data_group_setting(ST_GROUP, "Frontend Settings"); settings[1] = setting_data_group_setting(ST_SUB_GROUP, "Frontend"); settings[2] = setting_data_bool_setting("ios_use_file_log", "Enable File Logging", - &apple_frontend_settings.logging_enabled, false, GROUP_NAME, SUBGROUP_NAME); - settings[2].change_handler = apple_refresh_frontend_config; - settings[3] = setting_data_bool_setting("ios_tv_mode", "TV Mode", &apple_use_tv_mode, false, GROUP_NAME, SUBGROUP_NAME); + &apple_frontend_settings.logging_enabled, false, GROUP_NAME, SUBGROUP_NAME, apple_refresh_frontend_config); + settings[3] = setting_data_bool_setting("ios_tv_mode", "TV Mode", &apple_use_tv_mode, false, GROUP_NAME, SUBGROUP_NAME, NULL); settings[4] = setting_data_string_setting(ST_STRING, "ios_btmode", "Bluetooth Input Type", apple_frontend_settings.bluetooth_mode, - sizeof(apple_frontend_settings.bluetooth_mode), "none", GROUP_NAME, SUBGROUP_NAME); - settings[4].change_handler = apple_refresh_frontend_config; + sizeof(apple_frontend_settings.bluetooth_mode), "none", GROUP_NAME, SUBGROUP_NAME, apple_refresh_frontend_config); // Set ios_btmode options based on runtime environment if (btstack_try_load()) @@ -77,7 +77,7 @@ const void* apple_get_frontend_settings(void) settings[4].values = "icade|keyboard|small_keyboard"; settings[5] = setting_data_string_setting(ST_STRING, "ios_orientations", "Screen Orientations", apple_frontend_settings.orientations, - sizeof(apple_frontend_settings.orientations), "both", GROUP_NAME, SUBGROUP_NAME); + sizeof(apple_frontend_settings.orientations), "both", GROUP_NAME, SUBGROUP_NAME, NULL); settings[5].values = "both|landscape|portrait"; settings[6] = setting_data_group_setting(ST_END_SUB_GROUP, 0); diff --git a/settings_data.c b/settings_data.c index 873478e865..80572cb588 100644 --- a/settings_data.c +++ b/settings_data.c @@ -571,11 +571,14 @@ static void general_change_handler(const void *data) } else if (!strcmp(setting->name, "autosave_interval")) { +#ifdef HAVE_THREADS rarch_deinit_autosave(); +#endif g_settings.autosave_interval = *setting->value.unsigned_integer; - +#ifdef HAVE_THREADS if (g_settings.autosave_interval) rarch_init_autosave(); +#endif } else if (!strcmp(setting->name, "video_font_enable")) g_settings.video.font_enable = *setting->value.boolean;