--- /dev/null
+From: =?utf-8?q?IOhannes_m_zm=C3=B6lnig?= <zmoelnig@umlautS.umlaeute.mur.at>
+Date: Fri, 26 Oct 2018 22:12:13 +0200
+Subject: Backported fix for crash when saving global-search-path from cmdline
+
+---
+ extras/Projucer/Source/Application/jucer_CommandLine.cpp | 8 +++++---
+ extras/Projucer/Source/Settings/jucer_StoredSettings.cpp | 3 +++
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/extras/Projucer/Source/Application/jucer_CommandLine.cpp b/extras/Projucer/Source/Application/jucer_CommandLine.cpp
+index 4dfe6cf..48c7631 100644
+--- a/extras/Projucer/Source/Application/jucer_CommandLine.cpp
++++ b/extras/Projucer/Source/Application/jucer_CommandLine.cpp
+@@ -733,6 +733,8 @@ namespace
+ \r
+ auto settingsFile = userAppData.getChildFile ("Projucer").getChildFile ("Projucer.settings");\r
+ std::unique_ptr<XmlElement> xml (XmlDocument::parse (settingsFile));\r
++ if (xml == nullptr)\r
++ ConsoleApplication::fail ("Settings file not valid!");\r
+ auto settingsTree = ValueTree::fromXml (*xml);\r
+ \r
+ if (! settingsTree.isValid())\r
+@@ -742,13 +744,13 @@ namespace
+ if (isThisOS (args[1]))\r
+ {\r
+ childToSet = settingsTree.getChildWithProperty (Ids::name, "PROJECT_DEFAULT_SETTINGS")\r
+- .getChildWithName ("PROJECT_DEFAULT_SETTINGS");\r
++ .getOrCreateChildWithName ("PROJECT_DEFAULT_SETTINGS", nullptr);\r
+ }\r
+ else\r
+ {\r
+ childToSet = settingsTree.getChildWithProperty (Ids::name, "FALLBACK_PATHS")\r
+- .getChildWithName ("FALLBACK_PATHS")\r
+- .getChildWithName (args[1] + String ("Fallback"));\r
++ .getOrCreateChildWithName ("FALLBACK_PATHS", nullptr)\r
++ .getOrCreateChildWithName (args[1].text + "Fallback", nullptr);\r
+ }\r
+ \r
+ if (! childToSet.isValid())\r
+diff --git a/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
+index 5138b18..6d8b25a 100644
+--- a/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
++++ b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
+@@ -47,6 +47,9 @@ StoredSettings::StoredSettings()
+ {\r
+ updateOldProjectSettingsFiles();\r
+ reload();\r
++ changed (true);\r
++ flush();\r
++\r
+ checkJUCEPaths();\r
+ \r
+ projectDefaults.addListener (this);\r