avoid committing rows just to figure out rendition, blink and cursor (#19984)
We have been looking at a set of conhost crashes due to low-memory conditions. I've observed that they all happen during the first pass of rendering, before there's even an engine set up, when we try to estimate whether there are any blink attributes. I also found that we'll commit the buffer to check the cursor's double-width status and whether it's on a double-width-rendition line. Uncommitted rows _never_ contain a blinker, are never double-width and never contain DBCS. We can't necessarily avoid committing an empty buffer _forever,_ but this at least moves the first commit until after the renderer truly starts. This prevents us from committing an empty buffer for headless console apps (!)
D
Dustin L. Howett committed
f8b4e19e518f235a7d510de321dadb54def7aadd
Parent: 2e33056
Committed by GitHub <noreply@github.com>
on 3/18/2026, 10:52:59 PM