+++ /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..227895e 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
-+ throw CommandLineError ("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] + String("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
.../juce_audio_processors/processors/juce_AudioProcessor.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
-diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.h b/modules/juce_audio_processors/processors/juce_AudioProcessor.h
-index 201f3b3..772f636 100644
---- a/modules/juce_audio_processors/processors/juce_AudioProcessor.h
-+++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.h
-@@ -927,6 +927,7 @@ public:
+--- juce.orig/modules/juce_audio_processors/processors/juce_AudioProcessor.h
++++ juce/modules/juce_audio_processors/processors/juce_AudioProcessor.h
+@@ -927,6 +927,7 @@
*/\r
virtual void setNonRealtime (bool isNonRealtime) noexcept;\r
\r
//==============================================================================\r
/** Creates the processor's GUI.\r
\r
-@@ -973,6 +974,7 @@ public:
+@@ -973,6 +974,7 @@
This may call createEditor() internally to create the component.\r
*/\r
AudioProcessorEditor* createEditorIfNeeded();\r
\r
//==============================================================================\r
/** This must return the correct value immediately after the object has been\r
-@@ -1296,6 +1298,11 @@ public:
- /** This method is called when the layout of the audio processor changes. */\r
+@@ -1310,6 +1312,11 @@
virtual void processorLayoutsChanged();\r
\r
-+ //==============================================================================\r
+ //==============================================================================\r
+ /** LV2 specific calls, saving/restore as string. */\r
+ virtual String getStateInformationString () { return String(); }\r
+ virtual void setStateInformationString (const String&) {}\r
+\r
- //==============================================================================\r
++ //==============================================================================\r
/** Adds a listener that will be called when an aspect of this processor changes. */\r
virtual void addListener (AudioProcessorListener* newListener);\r
-@@ -1338,9 +1345,11 @@ public:
- const AudioChannelSet& mainOutputLayout,\r
- bool idForAudioSuite) const;\r
+ \r
+@@ -1379,9 +1386,11 @@
+ \r
+ virtual CurveData getResponseCurve (CurveData::Type /*curveType*/) const { return {}; }\r
\r
+ #if ! JUCE_AUDIOPROCESSOR_NO_GUI\r
//==============================================================================\r
\r
/** Flags to indicate the type of plugin context in which a processor is being used. */\r
enum WrapperType\r
-@@ -1352,6 +1361,7 @@ public:
- wrapperType_AudioUnitv3,\r
- wrapperType_RTAS,\r
+@@ -1395,6 +1404,7 @@
wrapperType_AAX,\r
-+ wrapperType_LV2,\r
- wrapperType_Standalone\r
+ wrapperType_Standalone,\r
+ wrapperType_Unity\r
++ , wrapperType_LV2\r
};\r
\r
-@@ -1601,7 +1611,9 @@ private:
+ /** When loaded by a plugin wrapper, this flag will be set to indicate the type\r
+@@ -1648,7 +1658,9 @@
\r
//==============================================================================\r
Array<AudioProcessorListener*> listeners;\r
modules/juce_core/juce_core.h | 32 +++++++++++++++++++++-
2 files changed, 56 insertions(+), 1 deletion(-)
-diff --git a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
-index ca388ee..93afc22 100644
---- a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
-+++ b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
+--- juce.orig/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
++++ juce/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
@@ -24,6 +24,30 @@
==============================================================================\r
*/\r
// The following checks should cause a compile error if you've forgotten to\r
// define all your plugin settings properly..\r
\r
-@@ -39,6 +63,7 @@
+@@ -40,6 +64,7 @@
#endif\r
#define JUCE_CHECKSETTINGMACROS_H\r
\r
#ifndef JucePlugin_IsSynth\r
#error "You need to define the JucePlugin_IsSynth value!"\r
#endif\r
-diff --git a/modules/juce_core/juce_core.h b/modules/juce_core/juce_core.h
-index 0c49510..7eee397 100644
---- a/modules/juce_core/juce_core.h
-+++ b/modules/juce_core/juce_core.h
-@@ -65,6 +65,36 @@
+--- juce.orig/modules/juce_core/juce_core.h
++++ juce/modules/juce_core/juce_core.h
+@@ -64,6 +64,36 @@
\r
#include "system/juce_TargetPlatform.h"\r
\r
//==============================================================================\r
/** Config: JUCE_FORCE_DEBUG\r
\r
-@@ -124,7 +154,7 @@
+@@ -123,7 +153,7 @@
specify the path where your zlib headers live.\r
*/\r
#ifndef JUCE_INCLUDE_ZLIB_CODE\r
extras/Projucer/JuceLibraryCode/AppConfig.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/extras/Projucer/JuceLibraryCode/AppConfig.h b/extras/Projucer/JuceLibraryCode/AppConfig.h
-index 1846127..8147f2a 100644
---- a/extras/Projucer/JuceLibraryCode/AppConfig.h
-+++ b/extras/Projucer/JuceLibraryCode/AppConfig.h
-@@ -31,7 +31,7 @@
- \r
+--- juce.orig/extras/Projucer/JuceLibraryCode/AppConfig.h
++++ juce/extras/Projucer/JuceLibraryCode/AppConfig.h
+@@ -32,7 +32,7 @@
// BEGIN SECTION A\r
\r
--#define JUCER_ENABLE_GPL_MODE 0\r
-+#define JUCER_ENABLE_GPL_MODE 1\r
+ #ifndef JUCER_ENABLE_GPL_MODE\r
+- #define JUCER_ENABLE_GPL_MODE 0\r
++ #define JUCER_ENABLE_GPL_MODE 1\r
+ #endif\r
\r
// END SECTION A\r
- \r
extras/Projucer/Source/Application/jucer_AutoUpdater.cpp | 1 +
1 file changed, 1 insertion(+)
-diff --git a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
-index 1d40604..01c1711 100644
---- a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
-+++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
-@@ -617,6 +617,7 @@ URL LatestVersionChecker::getLatestVersionURL (String& headers) const
+--- juce.orig/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
++++ juce/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
+@@ -617,6 +617,7 @@
\r
void LatestVersionChecker::checkForNewVersion()\r
{\r
.../Application/Windows/jucer_ApplicationUsageDataWindowComponent.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h b/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
-index 15ccb5b..bb22983 100644
---- a/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
-+++ b/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
-@@ -69,10 +69,10 @@ public:
+--- juce.orig/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
++++ juce/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
+@@ -69,10 +69,10 @@
\r
auto* controller = ProjucerApplication::getApp().licenseController.get();\r
\r
extras/Projucer/Source/Settings/jucer_StoredSettings.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
-index 10744c9..5138b18 100644
---- a/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
-+++ b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
-@@ -311,7 +311,7 @@ Value StoredSettings::getFallbackPathForOS (const Identifier& key, DependencyPat
- else if (key == Ids::defaultJuceModulePath)\r
- {\r
- v = (os == TargetOS::windows ? "C:\\JUCE\\modules"\r
-- : "~/JUCE/modules");\r
-+ : "/usr/share/juce/modules");\r
- }\r
- else if (key == Ids::defaultUserModulePath)\r
- {\r
+--- juce.orig/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
++++ juce/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
+@@ -389,7 +389,7 @@
+ }\r
+ else if (key == Ids::defaultJuceModulePath)\r
+ {\r
+- return (os == TargetOS::windows ? "C:\\JUCE\\modules" : "~/JUCE/modules");\r
++ return (os == TargetOS::windows ? "C:\\JUCE\\modules" : "/usr/share/juce/modules");\r
+ }\r
+ else if (key == Ids::defaultUserModulePath)\r
+ {\r
extras/UnitTestRunner/UnitTestRunner.jucer | 38 +++++++++++++++---------------
1 file changed, 19 insertions(+), 19 deletions(-)
-diff --git a/extras/UnitTestRunner/UnitTestRunner.jucer b/extras/UnitTestRunner/UnitTestRunner.jucer
-index 3665976..197e7b7 100644
---- a/extras/UnitTestRunner/UnitTestRunner.jucer
-+++ b/extras/UnitTestRunner/UnitTestRunner.jucer
+--- juce.orig/extras/UnitTestRunner/UnitTestRunner.jucer
++++ juce/extras/UnitTestRunner/UnitTestRunner.jucer
@@ -96,26 +96,26 @@
</VS2017>\r
</EXPORTFORMATS>\r
+ useGlobalPath="1"/>\r
+ <MODULES id="juce_video" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>\r
</MODULES>\r
- <JUCEOPTIONS/>\r
+ <JUCEOPTIONS JUCE_STRICT_REFCOUNTEDPOINTER="1"/>\r
<LIVE_SETTINGS>\r
debian_system_modules.patch
debian_python3.patch
debian_unittests_globalpaths.patch
-0010-Backported-fix-for-crash-when-saving-global-search-p.patch