diff --git a/Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp b/Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp index 7ea0bdadfae..34d20a86dff 100644 --- a/Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp +++ b/Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp @@ -1095,7 +1095,7 @@ static void saveOptions( void ) //------------------------------------------------------------------------------------------------- // HTTP Proxy GameWindow *textEntryHTTPProxy = TheWindowManager->winGetWindowFromId(NULL, NAMEKEY("OptionsMenu.wnd:TextEntryHTTPProxy")); - if (textEntryHTTPProxy) + if (textEntryHTTPProxy && textEntryHTTPProxy->winGetEnabled()) { UnicodeString uStr = GadgetTextEntryGetText(textEntryHTTPProxy); AsciiString aStr; @@ -1107,7 +1107,7 @@ static void saveOptions( void ) //------------------------------------------------------------------------------------------------- // Firewall Port Override GameWindow *textEntryFirewallPortOverride = TheWindowManager->winGetWindowFromId(NULL, NAMEKEY("OptionsMenu.wnd:TextEntryFirewallPortOverride")); - if (textEntryFirewallPortOverride) + if (textEntryFirewallPortOverride && textEntryFirewallPortOverride->winGetEnabled()) { UnicodeString uStr = GadgetTextEntryGetText(textEntryFirewallPortOverride); AsciiString aStr; @@ -1742,18 +1742,26 @@ void OptionsMenuInit( WindowLayout *layout, void *userData ) { // disable controls that you can't change the options for in game comboBoxLANIP->winEnable(FALSE); + if (comboBoxOnlineIP) comboBoxOnlineIP->winEnable(FALSE); + checkSendDelay->winEnable(FALSE); + buttonFirewallRefresh->winEnable(FALSE); if (comboBoxDetail) comboBoxDetail->winEnable(FALSE); - if (comboBoxResolution) comboBoxResolution->winEnable(FALSE); + if (textEntryFirewallPortOverride) + textEntryFirewallPortOverride->winEnable(FALSE); + + if (textEntryHTTPProxy) + textEntryHTTPProxy->winEnable(FALSE); + // if (checkAudioSurround) // checkAudioSurround->winEnable(FALSE); // diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp b/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp index 1984623f6b1..161439d4fc0 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp @@ -1149,7 +1149,7 @@ static void saveOptions( void ) //------------------------------------------------------------------------------------------------- // HTTP Proxy GameWindow *textEntryHTTPProxy = TheWindowManager->winGetWindowFromId(NULL, NAMEKEY("OptionsMenu.wnd:TextEntryHTTPProxy")); - if (textEntryHTTPProxy) + if (textEntryHTTPProxy && textEntryHTTPProxy->winGetEnabled()) { UnicodeString uStr = GadgetTextEntryGetText(textEntryHTTPProxy); AsciiString aStr; @@ -1161,7 +1161,7 @@ static void saveOptions( void ) //------------------------------------------------------------------------------------------------- // Firewall Port Override GameWindow *textEntryFirewallPortOverride = TheWindowManager->winGetWindowFromId(NULL, NAMEKEY("OptionsMenu.wnd:TextEntryFirewallPortOverride")); - if (textEntryFirewallPortOverride) + if (textEntryFirewallPortOverride && textEntryFirewallPortOverride->winGetEnabled()) { UnicodeString uStr = GadgetTextEntryGetText(textEntryFirewallPortOverride); AsciiString aStr; @@ -1812,18 +1812,26 @@ void OptionsMenuInit( WindowLayout *layout, void *userData ) { // disable controls that you can't change the options for in game comboBoxLANIP->winEnable(FALSE); + if (comboBoxOnlineIP) comboBoxOnlineIP->winEnable(FALSE); + checkSendDelay->winEnable(FALSE); + buttonFirewallRefresh->winEnable(FALSE); if (comboBoxDetail) comboBoxDetail->winEnable(FALSE); - if (comboBoxResolution) comboBoxResolution->winEnable(FALSE); + if (textEntryFirewallPortOverride) + textEntryFirewallPortOverride->winEnable(FALSE); + + if (textEntryHTTPProxy) + textEntryHTTPProxy->winEnable(FALSE); + // if (checkAudioSurround) // checkAudioSurround->winEnable(FALSE); //