GUI: Don't crash when opening a 2nd binary with no overlapping possible Unity versions

This commit is contained in:
Katy Coe
2020-08-07 05:03:26 +02:00
parent 1a2a5010ea
commit 58cd9abe02

View File

@@ -231,17 +231,20 @@ namespace Il2CppInspectorGUI
cboJsonUnityVersion.Items.Add(version);
}
// Prefer latest Unity versions
cboPyUnityVersion.SelectedIndex = cboPyUnityVersion.Items.Count - 1;
cboCppUnityVersion.SelectedIndex = cboCppUnityVersion.Items.Count - 1;
cboJsonUnityVersion.SelectedIndex = cboJsonUnityVersion.Items.Count - 1;
// Restore previous selection via value equality
if (prevIdaSelection != null) {
cboPyUnityVersion.SelectedItem = cboPyUnityVersion.Items.Cast<UnityHeaders>().First(v => v.Equals(prevIdaSelection));
cboCppUnityVersion.SelectedItem = cboCppUnityVersion.Items.Cast<UnityHeaders>().First(v => v.Equals(prevCppSelection));
cboJsonUnityVersion.SelectedItem = cboJsonUnityVersion.Items.Cast<UnityHeaders>().First(v => v.Equals(prevJsonSelection));
cboPyUnityVersion.SelectedItem = cboPyUnityVersion.Items.Cast<UnityHeaders>().FirstOrDefault(v => v.Equals(prevIdaSelection));
cboCppUnityVersion.SelectedItem = cboCppUnityVersion.Items.Cast<UnityHeaders>().FirstOrDefault(v => v.Equals(prevCppSelection));
cboJsonUnityVersion.SelectedItem = cboJsonUnityVersion.Items.Cast<UnityHeaders>().FirstOrDefault(v => v.Equals(prevJsonSelection));
}
// Prefer latest Unity versions if there was no previous selection or it's now invalid
if (cboPyUnityVersion.SelectedItem == null)
cboPyUnityVersion.SelectedIndex = cboPyUnityVersion.Items.Count - 1;
if (cboCppUnityVersion.SelectedItem == null)
cboCppUnityVersion.SelectedIndex = cboCppUnityVersion.Items.Count - 1;
if (cboJsonUnityVersion.SelectedItem == null)
cboJsonUnityVersion.SelectedIndex = cboJsonUnityVersion.Items.Count - 1;
}
private IEnumerable<CheckboxNode> deconstructNamespaces(IEnumerable<string> input) {