Terminal: Menulis ke buffer layar tidak aktif rusak

Dibuat pada 16 Okt 2018  ·  3Komentar  ·  Sumber: microsoft/terminal

Windows Versi 10.0.17763.1

Fungsi CreateConsoleScreenBuffer :

Sebuah konsol dapat memiliki beberapa buffer layar tetapi hanya satu buffer layar yang aktif. Penyangga layar tidak aktif dapat diakses untuk membaca dan menulis, tetapi hanya penyangga layar aktif yang ditampilkan . Untuk membuat penyangga layar baru penyangga layar aktif, gunakan fungsi SetConsoleActiveScreenBuffer.

Fungsionalitas ini rusak - teks yang dikirim ke penyangga layar yang tidak aktif akan berakhir di layar aktif dan dengan demikian terlihat di layar.

Itu tidak terjadi dalam mode Legacy.

Sebuah proyek minimal untuk mereproduksi masalah terlampir.

AlternatifLayarBufferBug.zip

Product-Conhost Resolution-Fix-Committed Work-Item

Komentar yang paling membantu

Terima kasih. Untungnya/sayangnya Anda aktif dan mengajukan bug lebih cepat daripada yang dapat saya selidiki dan perbaiki.

Saya telah mengajukan ini secara internal sebagai MSFT:19317384. Saya akan melakukannya ketika saya punya waktu.

Semua 3 komentar

Terima kasih. Untungnya/sayangnya Anda aktif dan mengajukan bug lebih cepat daripada yang dapat saya selidiki dan perbaiki.

Saya telah mengajukan ini secara internal sebagai MSFT:19317384. Saya akan melakukannya ketika saya punya waktu.

Perlu disebutkan bahwa ini hanya terjadi ketika dijalankan dari Visual Studio, yang melakukannya melalui pembantu VsDebugConsole.exe sendiri secara default.

OKE. Saya telah menyelidiki ini, membuat perbaikan, meninjaunya, dan memeriksanya mulai hari ini.

Saya juga telah memasang variasi pada sampel yang Anda berikan ke rangkaian uji fitur kami untuk memastikan bahwa kami tidak mengacaukannya lagi di masa mendatang. Atau setidaknya kita tidak mengacaukannya dengan cara yang sangat spesifik ini. :P

Terima kasih banyak telah memberikan kode repro minimal. Ini secara dramatis mempercepat kecepatan saya bisa membalikkan bug ini.

Itu akan mencapai build Insiders dalam waktu sekitar 3 minggu.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat