diff --git a/MassBuilderManager/MassBuilderManager.cpp b/MassBuilderManager/MassBuilderManager.cpp index dc1be5f..13b84e9 100644 --- a/MassBuilderManager/MassBuilderManager.cpp +++ b/MassBuilderManager/MassBuilderManager.cpp @@ -23,6 +23,7 @@ #include #include +#include #include #include @@ -52,6 +53,8 @@ auto MassBuilderManager::checkGameState() -> GameState { _gameState = GameState::Unknown; if(WTSEnumerateProcessesW(WTS_CURRENT_SERVER_HANDLE, 0, 1, &process_infos, &process_count)) { + Containers::ScopeGuard guard{process_infos, WTSFreeMemory}; + for(unsigned long i = 0; i < process_count; ++i) { if(std::wcscmp(process_infos[i].pProcessName, L"MASS_Builder-Win64-Shipping.exe") == 0) { _gameState = GameState::Running; @@ -63,11 +66,6 @@ auto MassBuilderManager::checkGameState() -> GameState { } } - if(process_infos != nullptr) { - WTSFreeMemory(process_infos); - process_infos = nullptr; - } - return _gameState; }