diff --git a/source/interface/ui_widget_event_handler_functions.c b/source/interface/ui_widget_event_handler_functions.c index 87f3b410..11108256 100644 --- a/source/interface/ui_widget_event_handler_functions.c +++ b/source/interface/ui_widget_event_handler_functions.c @@ -5960,12 +5960,18 @@ boolean ui_widget_port_gametype_choose( return TRUE; } -/* hosting (as the Xbox's server list's Y) */ +/* hosting (as the Xbox's server list's Y): always a new game. A game made +before and backed out of keeps its server (the lobby's last player leaving +pauses it: netgame_unjoin_player), and network_game_start_new_server joins +only a server it makes, so the client it made for that one never joined it +and the lobby had nobody in it */ boolean ui_widget_port_host( struct widget_instance *widget, struct event_record *event, boolean *widget_deleted) { + dispose_global_network_game_client(); + dispose_global_network_game_server(); return network_game_start_new_server(widget, event, widget_deleted); }