diff --git a/src/widgets/ConsoleWidget.cpp b/src/widgets/ConsoleWidget.cpp index 92638534..db378068 100644 --- a/src/widgets/ConsoleWidget.cpp +++ b/src/widgets/ConsoleWidget.cpp @@ -424,7 +424,9 @@ void ConsoleWidget::processQueuedOutput() while (pipeSocket->canReadLine()) { QString output = QString(pipeSocket->readLine()); - fprintf(origStderr, "%s", output.toStdString().c_str()); + if (origStderr) { + fprintf(origStderr, "%s", output.toStdString().c_str()); + } // Get the last segment that wasn't overwritten by carriage return output = output.trimmed(); @@ -449,7 +451,7 @@ void ConsoleWidget::redirectOutput() pipeSocket = new QLocalSocket(this); - origStdin = fdopen(dup(fileno(stderr)), "r"); + origStdin = fdopen(dup(fileno(stdin)), "r"); origStderr = fdopen(dup(fileno(stderr)), "a"); origStdout = fdopen(dup(fileno(stdout)), "a"); #ifdef Q_OS_WIN