@@ -44,6 +44,7 @@ ProjectFile::ProjectFile(const QString &filename, QObject *parent) :
4444
4545void ProjectFile::clear ()
4646{
47+ const Settings settings;
4748 clangParser = false ;
4849 bugHunting = false ;
4950 mRootPath .clear ();
@@ -64,7 +65,8 @@ void ProjectFile::clear()
6465 mAnalyzeAllVsConfigs = false ;
6566 mCheckHeaders = true ;
6667 mCheckUnusedTemplates = false ;
67- mMaxCtuDepth = 10 ;
68+ mMaxCtuDepth = settings.maxCtuDepth ;
69+ mMaxTemplateRecursion = settings.maxTemplateRecursion ;
6870 mCheckUnknownFunctionReturn .clear ();
6971 safeChecks.clear ();
7072 mVsConfigurations .clear ();
@@ -187,6 +189,9 @@ bool ProjectFile::read(const QString &filename)
187189 if (xmlReader.name () == CppcheckXml::MaxCtuDepthElementName)
188190 mMaxCtuDepth = readInt (xmlReader, mMaxCtuDepth );
189191
192+ if (xmlReader.name () == CppcheckXml::MaxTemplateRecursionElementName)
193+ mMaxTemplateRecursion = readInt (xmlReader, mMaxTemplateRecursion );
194+
190195 // VSConfiguration
191196 if (xmlReader.name () == CppcheckXml::VSConfigurationElementName)
192197 readVsConfigurations (xmlReader);
@@ -786,6 +791,10 @@ bool ProjectFile::write(const QString &filename)
786791 xmlWriter.writeCharacters (QString::number (mMaxCtuDepth ));
787792 xmlWriter.writeEndElement ();
788793
794+ xmlWriter.writeStartElement (CppcheckXml::MaxTemplateRecursionElementName);
795+ xmlWriter.writeCharacters (QString::number (mMaxTemplateRecursion ));
796+ xmlWriter.writeEndElement ();
797+
789798 if (!mIncludeDirs .isEmpty ()) {
790799 xmlWriter.writeStartElement (CppcheckXml::IncludeDirElementName);
791800 foreach (QString incdir, mIncludeDirs ) {
0 commit comments