diff options
author | Tobias Hunger <tobias.hunger@nokia.com> | 2010-09-02 16:42:19 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@nokia.com> | 2010-09-03 16:45:39 +0200 |
commit | 2c24bee040d934defd3f2fa0f3b888c8463c9d12 (patch) | |
tree | b70102029bc8600711eed956237b60fcfbf3b463 /src/plugins/projectexplorer/ioutputparser.cpp | |
parent | 081e31fc8cab54f29318b1498eefb5483d880df6 (diff) | |
download | qt-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.cpp | 11 |
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) |