Skip to content

Commit

Permalink
Fixed a crash on empty mission options.
Browse files Browse the repository at this point in the history
  • Loading branch information
Mailaender authored and PunkPun committed Jul 5, 2024
1 parent 446d37b commit 387554a
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
12 changes: 11 additions & 1 deletion OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ enum PanelType { MissionInfo, Options }
[TranslationReference]
const string CantPlayCancel = "dialog-cant-play-video.cancel";

[TranslationReference]
const string NotAvailable = "label-not-available";

readonly ModData modData;
readonly Action onStart;
readonly Widget missionDetail;
Expand Down Expand Up @@ -379,7 +382,14 @@ void RebuildOptions()

var dropdown = dropdownColumns.Dequeue();

dropdown.GetText = () => option.Values[missionOptions[option.Id]];
dropdown.GetText = () =>
{
if (option.Values.TryGetValue(missionOptions[option.Id], out var value))
return value;
return TranslationProvider.GetString(NotAvailable);
};

if (option.Description != null)
{
var (text, desc) = LobbyUtils.SplitOnFirstToken(option.Description);
Expand Down
2 changes: 1 addition & 1 deletion mods/common/languages/en.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ options-slot-admin =
button-general-chat = All
button-team-chat = Team
## LobbyOptionsLogic
## LobbyOptionsLogic, MissionBrowserLogic
label-not-available = Not Available
## LobbyUtils
Expand Down

0 comments on commit 387554a

Please sign in to comment.