Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,6 @@ class ConsoleHostUserInterface : System.Management.Automation.Host.PSHostUserInt
// Update the progress pane only when the timer set up the update flag or WriteProgress is completed.
// As a result, we do not block WriteProgress and whole script and eliminate unnecessary console locks and updates.
_progPane.Show(_pendingProgress);

// Reset the cursor back to where it started
if (record.RecordType == ProgressRecordType.Completed)
{
_progPane.Hide();
}
}
}

Expand Down
16 changes: 4 additions & 12 deletions src/Microsoft.PowerShell.ConsoleHost/host/msh/ProgressPane.cs
Original file line number Diff line number Diff line change
Expand Up @@ -99,20 +99,12 @@ class ProgressPane

//if the cursor is at the bottom, create screen buffer space by scrolling
int scrollRows = rows - ((_rawui.BufferSize.Height - 1) - _location.Y);
for (int i = 0; i < rows; i++)
{
Console.Out.Write('\n');
}
if (scrollRows > 0)
{
// The following can be possibly replaced by Console.Write ("\x1b[" + scrollRows + "S");
// For details, see https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences

// Scroll the console screen up by 'scrollRows'
var bottomLocation = _location;
bottomLocation.Y = _rawui.BufferSize.Height;
_rawui.CursorPosition = bottomLocation;
for (int i = 0; i < scrollRows; i++)
{
Console.Out.Write('\n');
}

_location.Y -= scrollRows;
_savedCursor.Y -= scrollRows;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2252,7 +2252,7 @@ internal void ThrowIfWriteNotPermitted(bool needsToWriteToPipeline)
{
// Only generate these exceptions if a pipeline has already been declared as the 'writing' pipeline.
// Otherwise, these are probably infrastructure messages and can be ignored.
if (this.PipelineProcessor?._permittedToWrite != null)
if (this.PipelineProcessor._permittedToWrite != null)
{
throw PSTraceSource.NewInvalidOperationException(
PipelineStrings.WriteNotPermitted);
Expand Down