mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-22 10:40:00 +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
|
||||
void ScreenInteractive::Install() {
|
||||
|
||||
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
|
||||
// ensure it is fully applied:
|
||||
on_exit_functions.push([] { Flush(); });
|
||||
|
Loading…
Reference in New Issue
Block a user