diff --git a/internal/c/libqb.cpp b/internal/c/libqb.cpp index 413f7b1e3..94210896b 100644 --- a/internal/c/libqb.cpp +++ b/internal/c/libqb.cpp @@ -11217,7 +11217,8 @@ static bool clear_console(void) return false; ret = (GetConsoleScreenBufferInfo(hConsole, &csbi) && FillConsoleOutputCharacterA(console, ' ', - csbi.dwSize.X * csbi.dwSize.Y, origin, &nCharsWritten)); + csbi.dwSize.X * csbi.dwSize.Y, origin, &nCharsWritten) && + SetConsoleCursorPosition(hConsole, origin)); CloseHandle(console); return ret; } @@ -11240,6 +11241,8 @@ static int putc_tty(int c) static bool clear_console(void) { int err; + if (!isatty(fileno(stdout))) + return false; ttyfd = open("/dev/tty", O_RDWR); if (ttyfd == -1) { // No controlling TTY for the process?