diff --git a/command_event.c b/command_event.c index c317e07ddc..21c8fa1b96 100644 --- a/command_event.c +++ b/command_event.c @@ -1187,6 +1187,12 @@ bool event_command(enum event_command cmd) event_command(EVENT_CMD_CHEATS_DEINIT); event_init_cheats(); break; + case EVENT_CMD_CHEATS_APPLY: + if (!global->cheat) + break; + + cheat_manager_apply_cheats(global->cheat); + break; case EVENT_CMD_REMAPPING_DEINIT: break; case EVENT_CMD_REMAPPING_INIT: diff --git a/command_event.h b/command_event.h index 54fc4c3c40..d47e1291a7 100644 --- a/command_event.h +++ b/command_event.h @@ -149,6 +149,8 @@ enum event_command EVENT_CMD_CHEATS_INIT, /* Deinitializes cheats. */ EVENT_CMD_CHEATS_DEINIT, + /* Apply cheats. */ + EVENT_CMD_CHEATS_APPLY, /* Deinitializes network system. */ EVENT_CMD_NETWORK_DEINIT, /* Initializes network system. */ diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index bbf6fc9aa1..dc9d2e55ad 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -276,18 +276,10 @@ static int action_ok_playlist_entry(const char *path, return -1; } - - static int action_ok_cheat_apply_changes(const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx) { - global_t *global = global_get_ptr(); - cheat_manager_t *cheat = global->cheat; - - if (!cheat) - return -1; - - cheat_manager_apply_cheats(cheat); + event_command(EVENT_CMD_CHEATS_APPLY); return 0; }