diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.cpp b/extras/Projucer/Source/Application/jucer_MainWindow.cpp index 6a07ad3059..faaf6409ab 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.cpp +++ b/extras/Projucer/Source/Application/jucer_MainWindow.cpp @@ -628,7 +628,7 @@ void MainWindowList::closeWindow (MainWindow* w) jassert (windows.contains (w)); #if ! JUCE_MAC - if (windows.size() == 1) + if (windows.size() == 1 && ! isInReopenLastProjects) { JUCEApplicationBase::getInstance()->systemRequestedQuit(); } @@ -829,6 +829,8 @@ void MainWindowList::saveCurrentlyOpenProjectList() void MainWindowList::reopenLastProjects() { + const ScopedValueSetter setter (isInReopenLastProjects, true); + for (auto& p : getAppSettings().getLastProjects()) openFile (p, true); } diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.h b/extras/Projucer/Source/Application/jucer_MainWindow.h index 3a1b43127c..7e69255f5d 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.h +++ b/extras/Projucer/Source/Application/jucer_MainWindow.h @@ -125,5 +125,7 @@ public: OwnedArray windows; private: + bool isInReopenLastProjects = false; + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindowList) };