OutputParser: Use AnsiFilterParser

Use AnsiFilterParser to make sure ANSI sequences will not confuse
our parsers.

Task-number: QTCREATORBUG-8610
Change-Id: I9711ec417a6439e8f3e1c560d2caca605ac55504
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
Tobias Hunger
2013-02-06 16:28:38 +01:00
parent f12dbf605c
commit 6a7cefbd97

View File

@@ -28,6 +28,7 @@
****************************************************************************/ ****************************************************************************/
#include "abstractprocessstep.h" #include "abstractprocessstep.h"
#include "ansifilterparser.h"
#include "buildconfiguration.h" #include "buildconfiguration.h"
#include "buildstep.h" #include "buildstep.h"
#include "ioutputparser.h" #include "ioutputparser.h"
@@ -120,12 +121,13 @@ AbstractProcessStep::~AbstractProcessStep()
void AbstractProcessStep::setOutputParser(ProjectExplorer::IOutputParser *parser) void AbstractProcessStep::setOutputParser(ProjectExplorer::IOutputParser *parser)
{ {
delete m_outputParserChain; delete m_outputParserChain;
m_outputParserChain = parser; m_outputParserChain = new AnsiFilterParser;
m_outputParserChain->appendOutputParser(parser);
if (m_outputParserChain) { if (m_outputParserChain) {
connect(parser, SIGNAL(addOutput(QString,ProjectExplorer::BuildStep::OutputFormat)), connect(m_outputParserChain, SIGNAL(addOutput(QString,ProjectExplorer::BuildStep::OutputFormat)),
this, SLOT(outputAdded(QString,ProjectExplorer::BuildStep::OutputFormat))); this, SLOT(outputAdded(QString,ProjectExplorer::BuildStep::OutputFormat)));
connect(parser, SIGNAL(addTask(ProjectExplorer::Task)), connect(m_outputParserChain, SIGNAL(addTask(ProjectExplorer::Task)),
this, SLOT(taskAdded(ProjectExplorer::Task))); this, SLOT(taskAdded(ProjectExplorer::Task)));
} }
} }