From a1731eecb3cc6dd89c6129e233ec1b2e9f7709df Mon Sep 17 00:00:00 2001 From: "seer-by-sentry[bot]" <157164994+seer-by-sentry[bot]@users.noreply.github.com> Date: Sun, 11 Jan 2026 06:09:24 +0000 Subject: [PATCH] Fix COM initialization crashes on newer Windows builds --- .../Code/GameEngine/Source/Common/GameEngine.cpp | 15 ++++++++++++++- .../Code/GameEngine/Source/Common/GameEngine.cpp | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/Generals/Code/GameEngine/Source/Common/GameEngine.cpp b/Generals/Code/GameEngine/Source/Common/GameEngine.cpp index 6d01b772c34..6094ca6b63e 100644 --- a/Generals/Code/GameEngine/Source/Common/GameEngine.cpp +++ b/Generals/Code/GameEngine/Source/Common/GameEngine.cpp @@ -256,7 +256,20 @@ GameEngine::GameEngine( void ) m_quitting = FALSE; m_isActive = FALSE; - _Module.Init(NULL, ApplicationHInstance, NULL); + // TheSuperHackers @bugfix sentry 11/01/2026 + // Wrap COM module initialization in try-catch to handle Windows compatibility issues. + // On some newer Windows builds (e.g., 10.0.26200), InputRedirectionAdapter::Register + // can trigger fatal breakpoint exceptions during COM initialization. + try + { + _Module.Init(NULL, ApplicationHInstance, NULL); + } + catch (...) + { + // Silently handle COM initialization failures to prevent crashes on incompatible systems. + // The application can still function without full COM support. + DEBUG_LOG(("COM module initialization failed, continuing without full COM support.")); + } } //------------------------------------------------------------------------------------------------- diff --git a/GeneralsMD/Code/GameEngine/Source/Common/GameEngine.cpp b/GeneralsMD/Code/GameEngine/Source/Common/GameEngine.cpp index 17c1c8e2c4f..9775a0c636d 100644 --- a/GeneralsMD/Code/GameEngine/Source/Common/GameEngine.cpp +++ b/GeneralsMD/Code/GameEngine/Source/Common/GameEngine.cpp @@ -295,7 +295,20 @@ GameEngine::GameEngine( void ) m_quitting = FALSE; m_isActive = FALSE; - _Module.Init(NULL, ApplicationHInstance, NULL); + // TheSuperHackers @bugfix sentry 11/01/2026 + // Wrap COM module initialization in try-catch to handle Windows compatibility issues. + // On some newer Windows builds (e.g., 10.0.26200), InputRedirectionAdapter::Register + // can trigger fatal breakpoint exceptions during COM initialization. + try + { + _Module.Init(NULL, ApplicationHInstance, NULL); + } + catch (...) + { + // Silently handle COM initialization failures to prevent crashes on incompatible systems. + // The application can still function without full COM support. + DEBUG_LOG(("COM module initialization failed, continuing without full COM support.")); + } } //-------------------------------------------------------------------------------------------------