Ticket #3165: fix_persist_match_settings_rated_games_t3165_r16533.patch

File fix_persist_match_settings_rated_games_t3165_r16533.patch, 1.4 KB (added by elexis, 9 years ago)

The second change in the patch is also required. Otherwise a new bug is introduced: Host a lobby game with ratings enabled; host a non-lobby game (ratings will become disabled), host a rated game -> cheats and teams locked setting will be disabled (not-clickable) although rated games are disabled.

  • binaries/data/mods/public/gui/gamesetup/gamesetup.js

     
    743743    if (attrs.gameSpeed)
    744744    {
    745745        var gameSpeedBox = Engine.GetGUIObjectByName("gameSpeed");
    746746        gameSpeedBox.selected = g_GameSpeeds.speeds.indexOf(attrs.gameSpeed);
    747747    }
     748   
     749    if (!Engine.HasXmppClient())
     750    {
     751        g_GameAttributes.settings.RatingEnabled = false;
     752        Engine.SetRankedGame(false);
     753        Engine.GetGUIObjectByName("enableRating").checked = false;
     754        Engine.GetGUIObjectByName("enableCheats").enabled = true;
     755        Engine.GetGUIObjectByName("lockTeams").enabled = true;
     756    }
     757
    748758    g_IsInGuiUpdate = false;
    749759
    750760    onGameAttributesChange();
    751761}
    752762
     
    11681178    if (mapSettings.RatingEnabled !== undefined)
    11691179    {
    11701180        enableRating.checked = mapSettings.RatingEnabled;
    11711181        Engine.SetRankedGame(enableRating.checked);
    11721182        enableRatingText.caption = (enableRating.checked ? translate("Yes") : translate("No"));
     1183        enableCheats.enabled = !enableRating.checked;
     1184        lockTeams.enabled = !enableRating.checked;
    11731185    }
    11741186    else
    11751187        enableRatingText.caption = "Unknown";
    11761188    gameSpeedText.caption = g_GameSpeeds.names[speedIdx];
    11771189    gameSpeedBox.selected = speedIdx;