diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a3a5148e5..cbba6c0cf4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ All notable changes to this project will be documented in this file. - [Core] Support cancellation of download checksums (#3778 by: HebaruSan; reviewed: techman83) - [Core] Skip duplicate repo URLs during update (#3786 by: HebaruSan; reviewed: techman83) - [Core] Mark new deps of upgrades as auto-installed (#3702 by: HebaruSan; reviewed: techman83) +- [GUI] Fix index -1 exception in Manage Instances (#3800 by: HebaruSan; reviewed: techman83) ### Internal diff --git a/GUI/Dialogs/ManageGameInstancesDialog.cs b/GUI/Dialogs/ManageGameInstancesDialog.cs index 635cf36377..1671a0d32d 100644 --- a/GUI/Dialogs/ManageGameInstancesDialog.cs +++ b/GUI/Dialogs/ManageGameInstancesDialog.cs @@ -79,8 +79,8 @@ public void UpdateInstancesList() var allSameGame = _manager.Instances.Select(i => i.Value.game).Distinct().Count() <= 1; var hasPlayTime = _manager.Instances.Any(instance => (instance.Value.playTime?.Time ?? TimeSpan.Zero) > TimeSpan.Zero); - AddOrRemoveColumn(GameInstancesListView, Game, !allSameGame); - AddOrRemoveColumn(GameInstancesListView, GamePlayTime, hasPlayTime); + AddOrRemoveColumn(GameInstancesListView, Game, !allSameGame, GameInstallVersion.Index); + AddOrRemoveColumn(GameInstancesListView, GamePlayTime, hasPlayTime, GameInstallPath.Index); GameInstancesListView.Items.AddRange(_manager.Instances .OrderByDescending(instance => instance.Value.Version()) @@ -95,11 +95,11 @@ public void UpdateInstancesList() GameInstancesListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); } - private void AddOrRemoveColumn(ListView listView, ColumnHeader column, bool condition) + private void AddOrRemoveColumn(ListView listView, ColumnHeader column, bool condition, int index) { if (condition && !listView.Columns.Contains(column)) { - listView.Columns.Insert(column.Index, column); + listView.Columns.Insert(index, column); } else if (!condition && listView.Columns.Contains(column)) {