Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
39742792c3 |
No files matched your search
@@ -22,7 +22,6 @@ namespace FluentTerminal.SystemTray.Services.ConPty
|
||||
|
||||
public void Close()
|
||||
{
|
||||
_terminal?.ConsoleOutStream?.Close();
|
||||
_reader?.Dispose();
|
||||
|
||||
ConnectionClosed?.Invoke(this, _terminal.ExitCode);
|
||||
|
||||
@@ -42,10 +42,19 @@ namespace FluentTerminal.SystemTray.Services.ConPty
|
||||
ResizePseudoConsole(Handle, new COORD { X = (short)width, Y = (short)height });
|
||||
}
|
||||
|
||||
private bool alreadyDisposed = false;
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (alreadyDisposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ClosePseudoConsole(Handle);
|
||||
GC.SuppressFinalize(this);
|
||||
|
||||
alreadyDisposed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -176,9 +176,11 @@ namespace FluentTerminal.SystemTray.Services.ConPty
|
||||
if (disposeManaged)
|
||||
{
|
||||
ConsoleOutStream.Dispose();
|
||||
// Dispose pseudo console before _consoleInputWriter to avoid
|
||||
// hanging on call of ClosePseudoConsole
|
||||
_pseudoConsole?.Dispose();
|
||||
_consoleInputWriter?.Dispose();
|
||||
_process?.Dispose();
|
||||
_pseudoConsole?.Dispose();
|
||||
_outputPipe?.Dispose();
|
||||
_inputPipe?.Dispose();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user