diff --git a/GeneralsMD/Code/GameEngine/Source/GameNetwork/GeneralsOnline/HTTP/HTTPManager.cpp b/GeneralsMD/Code/GameEngine/Source/GameNetwork/GeneralsOnline/HTTP/HTTPManager.cpp index 8ac79982f8b..5fdb3577ddf 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameNetwork/GeneralsOnline/HTTP/HTTPManager.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameNetwork/GeneralsOnline/HTTP/HTTPManager.cpp @@ -1,6 +1,7 @@ #include "GameNetwork/GeneralsOnline/HTTP/HTTPManager.h" #include "../NGMP_include.h" #include "../OnlineServices_Init.h" +#include "GameNetwork/GeneralsOnline/Vendor/libcurl/curl.h" HTTPManager::HTTPManager() noexcept { @@ -115,6 +116,9 @@ void HTTPManager::Shutdown() m_pCurl = nullptr; } + // Cleanup libcurl globally + curl_global_cleanup(); + NetworkLog(ELogVerbosity::LOG_RELEASE, "[HTTPManager] Shutdown complete"); } @@ -169,6 +173,9 @@ void HTTPManager::Initialize() { CHECK_MAIN_THREAD; + // Initialize libcurl globally - must be called before any curl operations + curl_global_init(CURL_GLOBAL_ALL); + m_pCurl = curl_multi_init(); m_bProxyEnabled = DeterminePlatformProxySettings(); }