diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2020-09-21 14:44:20 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2020-09-24 10:15:32 +0000 |
commit | 5cb74af1665fbb9a5c45dd907e824be6b8318f2d (patch) | |
tree | e0239a0fdfa70444d1ae9655b257f59f652f36fc /src | |
parent | 0158dfcfd2e26a1786d23e9374a8c84e5adc935b (diff) |
OutputFormatter: Prevent consecutive newlines from being ignored
Amends b0cad9e9c7.
Fixes: QTCREATORBUG-24668
Change-Id: I19a2ea71be91ded8f2c458537dae62a3021afe52
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/utils/outputformatter.cpp | 7 | ||||
-rw-r--r-- | src/plugins/coreplugin/outputwindow.cpp | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/libs/utils/outputformatter.cpp b/src/libs/utils/outputformatter.cpp index eb6e974dff..d711569e7a 100644 --- a/src/libs/utils/outputformatter.cpp +++ b/src/libs/utils/outputformatter.cpp @@ -287,6 +287,13 @@ void OutputFormatter::overridePostPrintAction(const PostPrintAction &postPrintAc void OutputFormatter::doAppendMessage(const QString &text, OutputFormat format) { QTextCharFormat charFmt = charFormat(format); + + // This might cause insertion of a newline character. + if (text.isEmpty()) { + append(text, charFmt); + return; + } + QList<FormattedText> formattedText = parseAnsi(text, charFmt); const QString cleanLine = std::accumulate(formattedText.begin(), formattedText.end(), QString(), [](const FormattedText &t1, const FormattedText &t2) { return t1.text + t2.text; }); diff --git a/src/plugins/coreplugin/outputwindow.cpp b/src/plugins/coreplugin/outputwindow.cpp index 80fb566698..4c9b162667 100644 --- a/src/plugins/coreplugin/outputwindow.cpp +++ b/src/plugins/coreplugin/outputwindow.cpp @@ -624,7 +624,7 @@ void Internal::CorePlugin::testOutputFormatter() { const QString input = "B to be handled by B\r\n" - "not to be handled\n" + "not to be handled\n\n\n\n" "A to be handled by A\n" "continuation for A\r\n" "B looks like B, but still continuation for A\r\n" @@ -636,7 +636,7 @@ void Internal::CorePlugin::testOutputFormatter() "B to be handled by B\n"; const QString output = "handled by B\n" - "not to be handled\n" + "not to be handled\n\n\n\n" "handled by A\n" "handled by A\n" "handled by A\n" |