diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/utils/outputformatter.cpp | 5 | ||||
-rw-r--r-- | src/plugins/projectexplorer/abstractprocessstep.cpp | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/libs/utils/outputformatter.cpp b/src/libs/utils/outputformatter.cpp index bc28776b338..d978e757c73 100644 --- a/src/libs/utils/outputformatter.cpp +++ b/src/libs/utils/outputformatter.cpp @@ -99,6 +99,11 @@ void OutputFormatter::append(const QString &text, const QTextCharFormat &format) int startPos = 0; int crPos = -1; while ((crPos = text.indexOf('\r', startPos)) >= 0) { + if (text.size() > crPos + 1 && text.at(crPos + 1) == '\n') { + d->cursor.insertText(text.mid(startPos, crPos - startPos) + '\n', format); + startPos = crPos + 2; + continue; + } d->cursor.insertText(text.mid(startPos, crPos - startPos), format); d->cursor.clearSelection(); d->cursor.movePosition(QTextCursor::StartOfBlock, QTextCursor::KeepAnchor); diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp index 0d2211f95b4..cdc31a98212 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.cpp +++ b/src/plugins/projectexplorer/abstractprocessstep.cpp @@ -366,6 +366,8 @@ void AbstractProcessStep::Private::readData(void (AbstractProcessStep::*func)(co int startPos = 0; int crPos = -1; while ((crPos = data.indexOf('\r', startPos)) >= 0) { + if (data.size() > crPos + 1 && data.at(crPos + 1) == '\n') + break; processLine(data.mid(startPos, crPos - startPos + 1), func, isUtf8); startPos = crPos + 1; } |