aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/outputformatter.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2018-11-27 10:19:14 +0200
committerOrgad Shaneh <orgads@gmail.com>2018-12-18 06:43:55 +0000
commit96bd65327b7ee82b48a33e1539e4bd1d23d8b23e (patch)
treef5c0c26b787ef67b06769f6de04885b0750eb7bf /src/libs/utils/outputformatter.cpp
parentfd7515d3dcf489e277b48c97e937f3b3459798f7 (diff)
OutputFormatter/AbstractProcessStep: Handle \r\n as newline
\r\n means newline. It shouldn't erase the previous line. Change-Id: I22d9919c9c0277e4c0932eba535dbfb84a1d5e71 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/libs/utils/outputformatter.cpp')
-rw-r--r--src/libs/utils/outputformatter.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libs/utils/outputformatter.cpp b/src/libs/utils/outputformatter.cpp
index bc28776b33..d978e757c7 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);