-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Closed
Closed
Copy link
Labels
Area-TerminalControlIssues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.)Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.)Issue-BugIt either shouldn't be doing this or needs an investigation.It either shouldn't be doing this or needs an investigation.Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meetingIt's a new issue that the core contributor team needs to triage at the next triage meetingPriority-1A description (P1)A description (P1)Product-TerminalThe new Windows Terminal.The new Windows Terminal.Resolution-Fix-CommittedFix is checked in, but it might be 3-4 weeks until a release.Fix is checked in, but it might be 3-4 weeks until a release.Severity-CrashCrashes are real bad news.Crashes are real bad news.
Description
- WSL, in a small window
vim -u NONE- Maximize the window
- Esc
:qEnter - Observe the window get "stuck" on vim
It looks like we're failing to render a dirty region that is outside of the new, smaller main buffer.
It appears as though Terminal is not resizing the main buffer, as it believes it is already the correct size.
That check is happening here:
terminal/src/cascadia/TerminalCore/Terminal.cpp
Lines 252 to 256 in 9edf55d
| const auto oldDimensions = _GetMutableViewport().Dimensions(); | |
| if (viewportSize == oldDimensions) | |
| { | |
| return S_FALSE; | |
| } |
At the time of failure, _GetMutableViewport returns _mutableViewport, since we are no longer in the alt buffer.
Setting a write breakpoint on _mutableViewport to determine who is setting it, it's coming from EraseAll -> SetViewportPosition:
terminal/src/cascadia/TerminalCore/TerminalApi.cpp
Lines 42 to 47 in 9edf55d
| void Terminal::SetViewportPosition(const til::point position) | |
| { | |
| const auto dimensions = _GetMutableViewport().Dimensions(); | |
| _mutableViewport = Viewport::FromDimensions(position.to_win32_coord(), dimensions); | |
| Terminal::_NotifyScrollEvent(); | |
| } |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Area-TerminalControlIssues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.)Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.)Issue-BugIt either shouldn't be doing this or needs an investigation.It either shouldn't be doing this or needs an investigation.Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meetingIt's a new issue that the core contributor team needs to triage at the next triage meetingPriority-1A description (P1)A description (P1)Product-TerminalThe new Windows Terminal.The new Windows Terminal.Resolution-Fix-CommittedFix is checked in, but it might be 3-4 weeks until a release.Fix is checked in, but it might be 3-4 weeks until a release.Severity-CrashCrashes are real bad news.Crashes are real bad news.