From 54c3b60603fbb8630c15d135256b9a54f5f7776f Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 26 Sep 2015 13:35:04 +0200 Subject: [PATCH] Refactor away rarch_main_clear_state --- retroarch.c | 2 +- runloop.c | 14 +++++--------- runloop.h | 5 ++--- tests/test_reentrancy.c | 2 +- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/retroarch.c b/retroarch.c index 8e89181ddd..5a937534f3 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1073,7 +1073,7 @@ void rarch_main_alloc(void) event_command(EVENT_CMD_HISTORY_DEINIT); - rarch_main_clear_state(); + rarch_main_ctl(RARCH_MAIN_CTL_CLEAR_STATE, NULL); rarch_main_data_clear_state(); } diff --git a/runloop.c b/runloop.c index 8faf3ecac4..2fea39bf1b 100644 --- a/runloop.c +++ b/runloop.c @@ -855,21 +855,17 @@ FILE *rarch_main_log_file(void) return global->log_file; } -void rarch_main_clear_state(void) -{ - driver_clear_state(); - - rarch_main_state_free(); - - rarch_main_global_free(); -} - bool rarch_main_ctl(enum rarch_main_ctl_state state, void *data) { settings_t *settings = config_get_ptr(); switch (state) { + case RARCH_MAIN_CTL_CLEAR_STATE: + driver_clear_state(); + rarch_main_state_free(); + rarch_main_global_free(); + return true; case RARCH_MAIN_CTL_SET_MAX_FRAMES: { unsigned *ptr = (unsigned*)data; diff --git a/runloop.h b/runloop.h index 419ffd2791..520ab7d8a4 100644 --- a/runloop.h +++ b/runloop.h @@ -42,7 +42,8 @@ enum rarch_main_ctl_state RARCH_MAIN_CTL_IS_PAUSED, RARCH_MAIN_CTL_SET_PAUSED, RARCH_MAIN_CTL_SET_MAX_FRAMES, - RARCH_MAIN_CTL_SET_FRAME_LIMIT_LAST_TIME + RARCH_MAIN_CTL_SET_FRAME_LIMIT_LAST_TIME, + RARCH_MAIN_CTL_CLEAR_STATE }; typedef struct rarch_resolution @@ -333,8 +334,6 @@ void rarch_main_msg_queue_free(void); void rarch_main_msg_queue_init(void); -void rarch_main_clear_state(void); - bool rarch_main_verbosity(void); FILE *rarch_main_log_file(void); diff --git a/tests/test_reentrancy.c b/tests/test_reentrancy.c index 67e556e119..d8c7102118 100644 --- a/tests/test_reentrancy.c +++ b/tests/test_reentrancy.c @@ -36,7 +36,7 @@ int main(int argc, char *argv[]) (argc - optind - 1) * sizeof(char*)); argc--; - rarch_main_clear_state(); + rarch_main_ctl(RARCH_MAIN_CTL_CLEAR_STATE); } }