diff --git a/TitanEngine/Global.Engine.Threading.cpp b/TitanEngine/Global.Engine.Threading.cpp
index 0735970..605d78e 100644
--- a/TitanEngine/Global.Engine.Threading.cpp
+++ b/TitanEngine/Global.Engine.Threading.cpp
@@ -19,7 +19,10 @@ void CriticalSectionDeleteLocks()
if(!bInitDone)
return;
for(int i = 0; i < LockLast; i++)
+ {
+ EnterCriticalSection(&locks[i]);
DeleteCriticalSection(&locks[i]);
+ }
bInitDone = false;
}
diff --git a/TitanEngine/Global.Garbage.cpp b/TitanEngine/Global.Garbage.cpp
index 015b67b..597ec79 100644
--- a/TitanEngine/Global.Garbage.cpp
+++ b/TitanEngine/Global.Garbage.cpp
@@ -5,7 +5,7 @@
#include "Global.Engine.h"
-wchar_t engineSzEngineGarbageFolder[MAX_PATH];
+wchar_t engineSzEngineGarbageFolder[MAX_PATH] = L"";
// Global.Garbage.functions:
bool CreateGarbageItem(void* outGargabeItem, int MaxGargabeStringSize)
diff --git a/TitanEngine/TitanEngine.cpp b/TitanEngine/TitanEngine.cpp
index 708404b..3a5f322 100644
--- a/TitanEngine/TitanEngine.cpp
+++ b/TitanEngine/TitanEngine.cpp
@@ -20,6 +20,7 @@ BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
+ break; //this bug has been here since 2010
case DLL_PROCESS_DETACH:
if(lpvReserved)
ExtensionManagerPluginReleaseCallBack();
diff --git a/TitanEngine/TitanEngine.vcxproj b/TitanEngine/TitanEngine.vcxproj
index ea40d4b..ea1ea5f 100644
--- a/TitanEngine/TitanEngine.vcxproj
+++ b/TitanEngine/TitanEngine.vcxproj
@@ -109,7 +109,7 @@
$(ProjectDir)scylla_wrapper_x86.lib;$(ProjectDir)distorm_x86.lib;Imagehlp.lib;psapi.lib;%(AdditionalDependencies)
$(ProjectDir)TitanEngine.def
- false
+ true
UseLinkTimeCodeGeneration
/ignore:4197 %(AdditionalOptions)
@@ -169,7 +169,7 @@
$(OutDir)TitanEngine.dll
false
$(ProjectDir)TitanEngine.def
- false
+ true
Windows
true
true