diff --git a/retroarch.c b/retroarch.c index 35817bd79b..2c84d3924c 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1618,7 +1618,8 @@ static void main_clear_state_extern(void) memset(&g_extern, 0, sizeof(g_extern)); memset(&g_runloop, 0, sizeof(g_runloop)); - memset(&g_data_runloop, 0, sizeof(g_data_runloop)); + + rarch_main_data_clear_state(); } /** diff --git a/runloop.h b/runloop.h index 93af5c31db..c456bbba11 100644 --- a/runloop.h +++ b/runloop.h @@ -202,6 +202,8 @@ void rarch_main_data_msg_queue_push(unsigned type, const char *msg, const char *msg2, unsigned prio, unsigned duration, bool flush); +void rarch_main_data_clear_state(void); + void rarch_main_data_iterate(void); void rarch_main_data_init_queues(void); diff --git a/runloop_data.c b/runloop_data.c index 799d691049..12c1306947 100644 --- a/runloop_data.c +++ b/runloop_data.c @@ -650,6 +650,11 @@ static void rarch_main_data_overlay_iterate(void) } #endif +void rarch_main_data_clear_state(void) +{ + memset(&g_data_runloop, 0, sizeof(g_data_runloop)); +} + void rarch_main_data_init_queues(void) { #ifdef HAVE_NETWORKING