diff --git a/core/textinput/src/textinput/TerminalDisplayUnix.cpp b/core/textinput/src/textinput/TerminalDisplayUnix.cpp index 144b27f24ac9f2c2f5b3c4869fa54015f06d9a08..d3d17ff4a3ec18c17be91161709f86fb90bd1929 100644 --- a/core/textinput/src/textinput/TerminalDisplayUnix.cpp +++ b/core/textinput/src/textinput/TerminalDisplayUnix.cpp @@ -124,14 +124,13 @@ namespace textinput { } } - static void syncOut(int /*fd*/) { - ::fflush(stdout); - } +// Don't rely on flushing here. +#define SYNC_OUT(fd) /*if (fd==STDOUT_FILENO) { ::fflush(stdout); } }*/ TerminalDisplayUnix::~TerminalDisplayUnix() { Detach(); if (fOutputID != STDOUT_FILENO) { - syncOut(fOutputID); + SYNC_OUT(fOutputID); ::close(fOutputID); } } @@ -280,7 +279,7 @@ namespace textinput { TerminalDisplayUnix::Attach() { // set to noecho if (fIsAttached) return; - syncOut(fOutputID); + SYNC_OUT(fOutputID); TerminalConfigUnix::Get().Attach(); fWritePos = Pos(); fWriteLen = 0; @@ -290,7 +289,7 @@ namespace textinput { void TerminalDisplayUnix::Detach() { if (!fIsAttached) return; - syncOut(fOutputID); + SYNC_OUT(fOutputID); TerminalConfigUnix::Get().Detach(); TerminalDisplay::Detach(); fIsAttached = false;