From a4476c56c86dc4cec932dcade4297c9a3c5e50d9 Mon Sep 17 00:00:00 2001 From: xezon <4720891+xezon@users.noreply.github.com> Date: Sun, 8 Jun 2025 10:11:31 +0200 Subject: [PATCH 1/2] [ZH] Disable the Firewall Port Override and HTTP Proxy settings from the Options Menu when in game --- .../GUI/GUICallbacks/Menus/OptionsMenu.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) 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); // From 2cffe14f967bb4bd616839df7a90649a83e8c352 Mon Sep 17 00:00:00 2001 From: xezon <4720891+xezon@users.noreply.github.com> Date: Wed, 11 Jun 2025 22:37:01 +0200 Subject: [PATCH 2/2] Replicate in Generals --- .../GUI/GUICallbacks/Menus/OptionsMenu.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) 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); //