Skip to content
Snippets Groups Projects
Unverified Commit 014bdb4a authored by Arthur Sonzogni's avatar Arthur Sonzogni Committed by GitHub
Browse files

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
parent 293ff179
No related branches found
No related tags found
No related merge requests found
......@@ -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(); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment