Skip to content

Commit

Permalink
Fixed: #3451
Browse files Browse the repository at this point in the history
  • Loading branch information
eranif committed Aug 17, 2024
1 parent fba63df commit a12c8b8
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions CodeLite/AsyncProcess/winprocess_impl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ typedef HRESULT(WINAPI* CreatePseudoConsole_T)(COORD size, HANDLE hInput, HANDLE
typedef VOID(WINAPI* ClosePseudoConsole_T)(HPCON hPC);

thread_local bool loadOnce = true;
thread_local CreatePseudoConsole_T CreatePseudoConsole = nullptr;
thread_local ClosePseudoConsole_T ClosePseudoConsole = nullptr;
thread_local CreatePseudoConsole_T CreatePseudoConsoleFunc = nullptr;
thread_local ClosePseudoConsole_T ClosePseudoConsoleFunc = nullptr;
#endif

#ifndef PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE
Expand Down Expand Up @@ -316,21 +316,21 @@ IProcess* WinProcessImpl::ExecuteConPTY(wxEvtHandler* parent, const wxString& cm
loadOnce = false;
auto hDLL = ::LoadLibrary(L"Kernel32.dll");
if(hDLL) {
CreatePseudoConsole = (CreatePseudoConsole_T)::GetProcAddress(hDLL, "CreatePseudoConsole");
ClosePseudoConsole = (ClosePseudoConsole_T)::GetProcAddress(hDLL, "ClosePseudoConsole");
CreatePseudoConsoleFunc = (CreatePseudoConsole_T)::GetProcAddress(hDLL, "CreatePseudoConsole");
ClosePseudoConsoleFunc = (ClosePseudoConsole_T)::GetProcAddress(hDLL, "ClosePseudoConsole");
FreeLibrary(hDLL);
}
}
#endif

if(!CreatePseudoConsole || !ClosePseudoConsole) {
if(!CreatePseudoConsoleFunc || !ClosePseudoConsoleFunc) {
::CloseHandle(inputReadSide);
::CloseHandle(outputWriteSide);
::CloseHandle(inputWriteSide);
::CloseHandle(outputReadSide);
return nullptr;
}
auto hr = CreatePseudoConsole({ 1000, 32 }, inputReadSide, outputWriteSide, 0, &hPC);
auto hr = CreatePseudoConsoleFunc({ 1000, 32 }, inputReadSide, outputWriteSide, 0, &hPC);
if(FAILED(hr)) {
::CloseHandle(inputReadSide);
::CloseHandle(outputWriteSide);
Expand Down Expand Up @@ -697,7 +697,7 @@ void WinProcessImpl::Cleanup()
}

if(m_hPseudoConsole) {
ClosePseudoConsole(m_hPseudoConsole);
ClosePseudoConsoleFunc(m_hPseudoConsole);
m_hPseudoConsole = nullptr;
}

Expand Down

0 comments on commit a12c8b8

Please sign in to comment.