From 82cb57fb2977891e00ac99447291368245fe0369 Mon Sep 17 00:00:00 2001 From: adelikat Date: Sat, 17 May 2014 13:00:03 +0000 Subject: [PATCH] N64 controller setting control - make it not throw null exceptions in the designer --- .../config/N64/N64ControllerSettingControl.cs | 30 ++++++++++++------- .../N64/N64ControllersSetup.Designer.cs | 8 +++++ 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/BizHawk.Client.EmuHawk/config/N64/N64ControllerSettingControl.cs b/BizHawk.Client.EmuHawk/config/N64/N64ControllerSettingControl.cs index 3f667ffbb7..2da85169a7 100644 --- a/BizHawk.Client.EmuHawk/config/N64/N64ControllerSettingControl.cs +++ b/BizHawk.Client.EmuHawk/config/N64/N64ControllerSettingControl.cs @@ -49,9 +49,11 @@ namespace BizHawk.Client.EmuHawk set { - EnabledCheckbox.Checked = - PakTypeDropdown.Enabled = - value; + EnabledCheckbox.Checked = value; + if (PakTypeDropdown != null) // Null check for designer + { + PakTypeDropdown.Enabled = value; + } Refresh(); } @@ -61,18 +63,26 @@ namespace BizHawk.Client.EmuHawk { get { - return EnumHelper.GetValueFromDescription( - PakTypeDropdown.SelectedItem.ToString()); + if (PakTypeDropdown.SelectedItem != null) // Null check for designer + { + return EnumHelper.GetValueFromDescription( + PakTypeDropdown.SelectedItem.ToString()); + } + + return N64ControllerSettings.N64ControllerPakType.NO_PAK; } set { - var toSelect = PakTypeDropdown.Items - .OfType() - .FirstOrDefault(item => item.ToString() == EnumHelper.GetDescription(value)); - PakTypeDropdown.SelectedItem = toSelect; + if (PakTypeDropdown.Items.Count > 0 && PakTypeDropdown.SelectedItem != null) // Null check for designer + { + var toSelect = PakTypeDropdown.Items + .OfType() + .FirstOrDefault(item => item.ToString() == EnumHelper.GetDescription(value)); + PakTypeDropdown.SelectedItem = toSelect; - Refresh(); + Refresh(); + } } } diff --git a/BizHawk.Client.EmuHawk/config/N64/N64ControllersSetup.Designer.cs b/BizHawk.Client.EmuHawk/config/N64/N64ControllersSetup.Designer.cs index ff991efab4..5129015277 100644 --- a/BizHawk.Client.EmuHawk/config/N64/N64ControllersSetup.Designer.cs +++ b/BizHawk.Client.EmuHawk/config/N64/N64ControllersSetup.Designer.cs @@ -63,32 +63,40 @@ // ControllerSetting4 // this.ControllerSetting4.ControllerNumber = 4; + this.ControllerSetting4.IsConnected = false; this.ControllerSetting4.Location = new System.Drawing.Point(12, 114); this.ControllerSetting4.Name = "ControllerSetting4"; + this.ControllerSetting4.PakType = BizHawk.Emulation.Cores.Nintendo.N64.N64ControllerSettings.N64ControllerPakType.NO_PAK; this.ControllerSetting4.Size = new System.Drawing.Size(291, 28); this.ControllerSetting4.TabIndex = 5; // // ControllerSetting3 // this.ControllerSetting3.ControllerNumber = 3; + this.ControllerSetting3.IsConnected = false; this.ControllerSetting3.Location = new System.Drawing.Point(12, 80); this.ControllerSetting3.Name = "ControllerSetting3"; + this.ControllerSetting3.PakType = BizHawk.Emulation.Cores.Nintendo.N64.N64ControllerSettings.N64ControllerPakType.NO_PAK; this.ControllerSetting3.Size = new System.Drawing.Size(291, 28); this.ControllerSetting3.TabIndex = 4; // // ControllerSetting2 // this.ControllerSetting2.ControllerNumber = 2; + this.ControllerSetting2.IsConnected = false; this.ControllerSetting2.Location = new System.Drawing.Point(12, 46); this.ControllerSetting2.Name = "ControllerSetting2"; + this.ControllerSetting2.PakType = BizHawk.Emulation.Cores.Nintendo.N64.N64ControllerSettings.N64ControllerPakType.NO_PAK; this.ControllerSetting2.Size = new System.Drawing.Size(291, 28); this.ControllerSetting2.TabIndex = 3; // // ControllerSetting1 // this.ControllerSetting1.ControllerNumber = 1; + this.ControllerSetting1.IsConnected = false; this.ControllerSetting1.Location = new System.Drawing.Point(12, 12); this.ControllerSetting1.Name = "ControllerSetting1"; + this.ControllerSetting1.PakType = BizHawk.Emulation.Cores.Nintendo.N64.N64ControllerSettings.N64ControllerPakType.NO_PAK; this.ControllerSetting1.Size = new System.Drawing.Size(291, 28); this.ControllerSetting1.TabIndex = 2; //