Terminal: A gravação no buffer de tela inativo está interrompida

Criado em 16 out. 2018  ·  3Comentários  ·  Fonte: microsoft/terminal

Versão do Windows 10.0.17763.1

Função CreateConsoleScreenBuffer :

Um console pode ter vários buffers de tela, mas apenas um buffer de tela ativo. Os buffers de tela inativos podem ser acessados ​​para leitura e escrita, mas apenas o buffer de tela ativo é exibido . Para tornar o novo buffer de tela o buffer de tela ativo, use a função SetConsoleActiveScreenBuffer.

Esta funcionalidade está quebrada - o texto enviado para o buffer de tela inativo acaba no ativo e, portanto, visível na tela.

Isso não acontece no modo Legado.

Um projeto mínimo para reproduzir o problema em anexo.

AlternativeScreenBufferBug.zip

Product-Conhost Resolution-Fix-Committed Work-Item

Comentários muito úteis

Obrigado. Felizmente/infelizmente você está em um rolo e arquivando bugs mais rápido do que eu posso investigar e corrigi-los.

Eu arquivei isso internamente como MSFT:19317384. Vou buscá-la quando tiver tempo.

Todos 3 comentários

Obrigado. Felizmente/infelizmente você está em um rolo e arquivando bugs mais rápido do que eu posso investigar e corrigi-los.

Eu arquivei isso internamente como MSFT:19317384. Vou buscá-la quando tiver tempo.

Vale ressaltar que isso só acontece quando executado a partir do Visual Studio, que faz isso por meio de seu próprio auxiliar VsDebugConsole.exe por padrão.

OK. Eu investiguei isso, criei uma correção, revisei e fiz o check-in a partir de hoje.

Também instalei uma variação da amostra que você forneceu em nosso conjunto de testes de recursos para garantir que não estraguemos isso novamente no futuro. Ou pelo menos que não estraguemos tudo dessa maneira muito específica. :P

Muito, muito obrigado por fornecer o código de reprodução mínimo. Ele acelerou dramaticamente o ritmo em que eu poderia reverter esse bug.

Ele deve chegar às compilações dos Insiders em cerca de 3 semanas.

Esta página foi útil?
0 / 5 - 0 avaliações