X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=3ffcb48493dcb0b11ae1bd0b2196b08d2b2fc8c2;hp=54e27e311f8c4d0f086cb4a1e7207f2eaf291207;hb=41165ff0a84cf7c0391f6b56520a1f7f97ccf496;hpb=69e307f77043b50302713c513fc29e73025dc92e diff --git a/src/screens.c b/src/screens.c index 54e27e31..3ffcb484 100644 --- a/src/screens.c +++ b/src/screens.c @@ -6445,10 +6445,9 @@ static void changeSetupValue(int screen_pos, int setup_info_pos_raw, int dx) ToggleFullscreenOrChangeWindowScalingIfNeeded(); if (si->value == &setup.network_mode && - setup.network_mode && - !network.enabled) + setup.network_mode != network.enabled) { - network.enabled = TRUE; + network.enabled = setup.network_mode; SetGameStatus(GAME_MODE_LOADING); SetDrawBackgroundMask(REDRAW_NONE); @@ -6459,7 +6458,10 @@ static void changeSetupValue(int screen_pos, int setup_info_pos_raw, int dx) FadeIn(REDRAW_ALL); - InitNetworkServer(); + if (network.enabled) + InitNetworkServer(); + else + DisconnectFromNetworkServer(); SetGameStatus(GAME_MODE_SETUP); SetDrawBackgroundMask(REDRAW_FIELD);