diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp index 7ba83ad2dad5739c1c09361d1d51b3b3b56c94f3..a70d713a5e49a8df9158ea599b64e070cd13a3b4 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.cpp +++ b/src/plugins/qt4projectmanager/qt4nodes.cpp @@ -962,15 +962,10 @@ void Qt4ProFileNode::setupReader() bool Qt4ProFileNode::evaluate() { bool parserError = false; - if (!m_readerExact->readProFile(m_projectFilePath)) { - m_project->proFileParseError(tr("Error while parsing file %1. Giving up.").arg(m_projectFilePath)); + if (!m_readerExact->readProFile(m_projectFilePath)) parserError = true; - } - - if (!m_readerCumulative->readProFile(m_projectFilePath)) { - m_project->proFileParseError(tr("Error while parsing file %1. Giving up.").arg(m_projectFilePath)); + if (!m_readerCumulative->readProFile(m_projectFilePath)) parserError = true; - } return parserError; } @@ -1012,8 +1007,10 @@ void Qt4ProFileNode::applyEvaluate(bool parseResult, bool async) if (m_readerCumulative) m_project->destroyProFileReader(m_readerCumulative); m_readerExact = m_readerCumulative = 0; - if (!parseResult) // Invalidate + if (!parseResult) { + m_project->proFileParseError(tr("Error while parsing file %1. Giving up.").arg(m_projectFilePath)); invalidate(); + } return; } diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index ab57f72f5937f07dd4817f95f45f889abe3b446c..c747106c225fa8eb9cf319c75ffbd504d4d5c70e 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -932,7 +932,8 @@ ProFileReader *Qt4Project::createProFileReader(Qt4ProFileNode *qt4ProFileNode) ProFileReader *reader = new ProFileReader(m_proFileOption); connect(reader, SIGNAL(errorFound(QString)), - this, SLOT(proFileParseError(QString))); + this, SLOT(proFileParseError(QString)), + Qt::QueuedConnection); reader->setOutputDir(qt4ProFileNode->buildDir());