diff --git a/menu/menu_entries_cbs.c b/menu/menu_entries_cbs.c index dcc538bae9..c46d293af2 100644 --- a/menu/menu_entries_cbs.c +++ b/menu/menu_entries_cbs.c @@ -2188,6 +2188,7 @@ static int deferred_push_core_manager_list(void *data, void *userdata, (void)buf; + menu_list_clear(list); if (g_settings.network.buildbot_url[0] == '\0') @@ -2205,6 +2206,8 @@ static int deferred_push_core_manager_list(void *data, void *userdata, } #ifdef HAVE_NETPLAY + rarch_main_command(RARCH_CMD_NETWORK_INIT); + fill_pathname_join(url, g_settings.network.buildbot_url, ".index", sizeof(url)); diff --git a/retroarch.c b/retroarch.c index 7149b518ce..8b6c22623b 100644 --- a/retroarch.c +++ b/retroarch.c @@ -2928,6 +2928,16 @@ bool rarch_main_command(unsigned cmd) netplay_free(netplay); driver.netplay_data = NULL; } +#endif + break; + case RARCH_CMD_NETWORK_DEINIT: +#ifdef HAVE_NETPLAY + network_deinit(); +#endif + break; + case RARCH_CMD_NETWORK_INIT: +#ifdef HAVE_NETPLAY + network_init(); #endif break; case RARCH_CMD_NETPLAY_INIT: diff --git a/retroarch.h b/retroarch.h index e5b354c73e..d0685ae070 100644 --- a/retroarch.h +++ b/retroarch.h @@ -143,6 +143,10 @@ enum basic_event RARCH_CMD_CHEATS_INIT, /* Deinitializes cheats. */ RARCH_CMD_CHEATS_DEINIT, + /* Deinitializes network system. */ + RARCH_CMD_NETWORK_DEINIT, + /* Initializes network system. */ + RARCH_CMD_NETWORK_INIT, /* Initializes netplay system. */ RARCH_CMD_NETPLAY_INIT, /* Deinitializes netplay system. */