-
Notifications
You must be signed in to change notification settings - Fork 8.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix a crash on restore down #2149
Conversation
…operation This fixes #1795, and shined quite a bit of light on the whole conpty resize process.
For your tentative COOKED_READ fix, that is sort of how the v1 console used to do it when resizing anything. It would hide the cooked line, do the work, then redraw it in the new position. So I'm not really opposed to that. My thought would be... should it belong to |
Is this something we should cherry-pick into 20H1? |
@DHowett-MSFT Probably. @miniksa Okay that makes sense. I'll make another PR for that one, since this one has a pretty specific scope, as does the other. |
@DHowett-MSFT Oh you said 20H1, not Vb. Eh, feels too risky for 20H1. |
I was wrong this should be in 20H1 (which is Vb). Our codenames are confusing. |
🎉 Handy links: |
Summary of the Pull Request
Fixes a crash that occur when changing the buffer height. During the resize, conpty would immediately request a repaint, which would throw an exception that would cause the resize to fail halfway through, and that would make the subsequent render fail.
This change prevents the VT Renderer from immediately requesting a paint during the resize.
References
Might also be related to #1095. I can't seem to get that to repro anymore with this change.
Might be related to #1856. We should verify.
This does however make another issue more apparent. When you restore down with a COOKED_READ input line (read:cmd.exe), the terminal can crash. I have a fix for that in d34a3be, which I wasn't sure if I should include in this PR or not, because I wasn't confident that was the right fix. I'm fairly certain there's another issue floating around tracking that bug. We could either merge that commit/branch into this one, or wait and save it for a separate one.
PR Checklist