Save and load dialog bugfix. Reported by frapstar, refs #4361.

Change a wrong check in the save and load screen that didn't handle the
"No saved games found" case.

This was SVN commit r18997.
This commit is contained in:
elexis 2016-11-25 03:32:33 +00:00
parent f15e900086
commit 86ea5a5122
2 changed files with 7 additions and 10 deletions

View File

@ -40,16 +40,13 @@ function init()
function selectionChanged()
{
let gameSelection = Engine.GetGUIObjectByName("gameSelection");
let selectionEmpty = gameSelection.selected == -1;
Engine.GetGUIObjectByName("invalidGame").hidden = !selectionEmpty;
Engine.GetGUIObjectByName("validGame").hidden = selectionEmpty;
let metadata = g_SavedGamesMetadata[Engine.GetGUIObjectByName("gameSelection").selected];
Engine.GetGUIObjectByName("invalidGame").hidden = !!metadata;
Engine.GetGUIObjectByName("validGame").hidden = !metadata;
if (selectionEmpty)
if (!metadata)
return;
let metadata = g_SavedGamesMetadata[gameSelection.selected];
Engine.GetGUIObjectByName("savedMapName").caption = translate(metadata.initAttributes.settings.Name);
let mapData = getMapDescriptionAndPreview(metadata.initAttributes.mapType, metadata.initAttributes.map);
setMapPreviewImage("savedInfoPreview", mapData.preview);

View File

@ -4,10 +4,10 @@ var g_SavedGameData;
function selectDescription()
{
let gameSelection = Engine.GetGUIObjectByName("gameSelection");
if (gameSelection.selected == -1)
let gameID = gameSelection.list_data[gameSelection.selected];
if (!gameID)
return;
let gameID = gameSelection.list_data[gameSelection.selected];
Engine.GetGUIObjectByName("deleteGameButton").enabled = true;
Engine.GetGUIObjectByName("saveGameDesc").caption = g_Descriptions[gameID];
}
@ -49,7 +49,7 @@ function saveGame()
let desc = Engine.GetGUIObjectByName("saveGameDesc").caption;
let name = gameID || "savegame";
if (gameSelection.selected == -1)
if (!gameID)
{
reallySaveGame(name, desc, true);
return;