summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/ioutputparser.cpp
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@nokia.com>2010-09-02 16:42:19 +0200
committerTobias Hunger <tobias.hunger@nokia.com>2010-09-03 16:45:39 +0200
commit2c24bee040d934defd3f2fa0f3b888c8463c9d12 (patch)
treeb70102029bc8600711eed956237b60fcfbf3b463 /src/plugins/projectexplorer/ioutputparser.cpp
parent081e31fc8cab54f29318b1498eefb5483d880df6 (diff)
downloadqt-creator-2c24bee040d934defd3f2fa0f3b888c8463c9d12.tar.gz
Delete parsers after parsing is done.
This way we have a chance to flush out any state the parsers might have.
Diffstat (limited to 'src/plugins/projectexplorer/ioutputparser.cpp')
-rw-r--r--src/plugins/projectexplorer/ioutputparser.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/plugins/projectexplorer/ioutputparser.cpp b/src/plugins/projectexplorer/ioutputparser.cpp
index 2502029170..4bd1520607 100644
--- a/src/plugins/projectexplorer/ioutputparser.cpp
+++ b/src/plugins/projectexplorer/ioutputparser.cpp
@@ -60,9 +60,9 @@ IOutputParser *IOutputParser::takeOutputParserChain()
{
IOutputParser *parser = m_parser;
disconnect(parser, SIGNAL(addOutput(QString,ProjectExplorer::BuildStep::OutputFormat)),
- this, SLOT(outputAdded(QString,ProjectExplorer::BuildStep::OutputFormat)));
+ this, SLOT(outputAdded(QString,ProjectExplorer::BuildStep::OutputFormat)));
disconnect(parser, SIGNAL(addTask(ProjectExplorer::Task)),
- this, SLOT(taskAdded(ProjectExplorer::Task)));
+ this, SLOT(taskAdded(ProjectExplorer::Task)));
m_parser = 0;
return parser;
}
@@ -72,6 +72,13 @@ IOutputParser *IOutputParser::childParser() const
return m_parser;
}
+void IOutputParser::setChildParser(IOutputParser *parser)
+{
+ if (m_parser != parser)
+ delete m_parser;
+ m_parser = parser;
+}
+
void IOutputParser::stdOutput(const QString &line)
{
if (m_parser)