mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-22 18:59:59 +08:00
Flush before applying a new configuration. (#848)
This avoids an ordering problem with whatever the user printed and interacting with termios/WinAPI. Bug:https://github.com/ArthurSonzogni/FTXUI/issues/846
This commit is contained in:
parent
293ff179f6
commit
014bdb4a05
@ -568,8 +568,16 @@ ScreenInteractive* ScreenInteractive::Active() {
|
|||||||
|
|
||||||
// private
|
// private
|
||||||
void ScreenInteractive::Install() {
|
void ScreenInteractive::Install() {
|
||||||
|
|
||||||
frame_valid_ = false;
|
frame_valid_ = false;
|
||||||
|
|
||||||
|
// Flush the buffer for stdout to ensure whatever the user has printed before
|
||||||
|
// is fully applied before we start modifying the terminal configuration. This
|
||||||
|
// is important, because we are using two different channels (stdout vs
|
||||||
|
// termios/WinAPI) to communicate with the terminal emulator below. See
|
||||||
|
// https://github.com/ArthurSonzogni/FTXUI/issues/846
|
||||||
|
Flush();
|
||||||
|
|
||||||
// After uninstalling the new configuration, flush it to the terminal to
|
// After uninstalling the new configuration, flush it to the terminal to
|
||||||
// ensure it is fully applied:
|
// ensure it is fully applied:
|
||||||
on_exit_functions.push([] { Flush(); });
|
on_exit_functions.push([] { Flush(); });
|
||||||
|
Loading…
Reference in New Issue
Block a user