diff --git a/extras/Introjucer/Source/Project/jucer_Project.cpp b/extras/Introjucer/Source/Project/jucer_Project.cpp index 510b22c713..fea6b486b4 100644 --- a/extras/Introjucer/Source/Project/jucer_Project.cpp +++ b/extras/Introjucer/Source/Project/jucer_Project.cpp @@ -35,7 +35,8 @@ Project::Project (const File& f) String ("*") + projectFileExtension, "Choose a Jucer project to load", "Save Jucer project"), - projectRoot (Ids::JUCERPROJECT) + projectRoot (Ids::JUCERPROJECT), + isSaving (false) { Logger::writeToLog ("Loading project: " + f.getFullPathName()); setFile (f); @@ -285,12 +286,17 @@ Result Project::saveDocument (const File& file) Result Project::saveProject (const File& file, bool isCommandLineApp) { + if (isSaving) + return Result::ok(); + updateProjectSettings(); sanitiseConfigFlags(); if (! isCommandLineApp) registerRecentFile (file); + const ScopedValueSetter vs (isSaving, true, false); + ProjectSaver saver (*this, file); return saver.save (! isCommandLineApp); } diff --git a/extras/Introjucer/Source/Project/jucer_Project.h b/extras/Introjucer/Source/Project/jucer_Project.h index db3c0e1662..c089166a06 100644 --- a/extras/Introjucer/Source/Project/jucer_Project.h +++ b/extras/Introjucer/Source/Project/jucer_Project.h @@ -273,6 +273,7 @@ private: friend class Item; ValueTree projectRoot; ScopedPointer enabledModulesList; + bool isSaving; void updateProjectSettings(); void sanitiseConfigFlags();