diff --git a/src/bridge/bridgemain.cpp b/src/bridge/bridgemain.cpp index e15fab56..65e69c72 100644 --- a/src/bridge/bridgemain.cpp +++ b/src/bridge/bridgemain.cpp @@ -107,6 +107,7 @@ BRIDGE_IMPEXP const wchar_t* BridgeStart() return L"Failed to save settings!"; _dbg_sendmessage(DBG_DEINITIALIZE_LOCKS, nullptr, nullptr); //deinitialize locks when only one thread is left (hopefully) DeleteCriticalSection(&csIni); + DeleteCriticalSection(&csTranslate); return 0; } @@ -1487,7 +1488,10 @@ BRIDGE_IMPEXP void GuiFoldDisassembly(duint startAddress, duint length) BRIDGE_IMPEXP const char* GuiTranslateText(const char* Source) { - return _gui_translate_text(Source); + EnterCriticalSection(&csTranslate); + const char* text = _gui_translate_text(Source); + LeaveCriticalSection(&csTranslate); + return text; } BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)