- fixed crash on setStateInformation/setCurrentStateInformation

- fixed crash on getStateInformation/getCurrentStateInformation
This commit is contained in:
2023-05-02 19:47:51 +02:00
parent 764f5fdf74
commit c9c06c9d97
+8 -8
View File
@@ -707,7 +707,7 @@ void JaySynthAudioProcessor::commitEditBuffer()
void JaySynthAudioProcessor::patch2xml(XmlElement *xml, JaySynthSound const *patch)
{
ScopedPointer<XmlElement> xml_patch = xml->createNewChildElement("Patch");
XmlElement *xml_patch = xml->createNewChildElement("Patch");
xml_patch->setAttribute ("NAME", patch->getName());
for (int i=0; i < SYNTH_NUM_PARAMS; i++)
{
@@ -739,10 +739,10 @@ void JaySynthAudioProcessor::xml2patch(const XmlElement *xml, JaySynthSound *pat
void JaySynthAudioProcessor::bank2xml(XmlElement *xml)
{
ScopedPointer<XmlElement> xml_bank = xml->createNewChildElement("Bank");
XmlElement *xml_bank = xml->createNewChildElement("Bank");
for (int i=0; i < NUM_PROGRAMS; i++)
{
ScopedPointer<XmlElement> xml_program = xml_bank->createNewChildElement (String("Program_") + String(i));
XmlElement *xml_program = xml_bank->createNewChildElement (String("Program_") + String(i));
JaySynthSound *pPatch = &patches[i];
xml_program->setAttribute ("ID", i);
patch2xml(xml_program, pPatch);
@@ -778,7 +778,7 @@ void JaySynthAudioProcessor::getStateInformation (MemoryBlock& destData)
commitEditBuffer();
// Create an outer XML element..
XmlElement *xml = new XmlElement("JSynth");
ScopedPointer <XmlElement> xml = new XmlElement("JSynth");
bank2xml(xml);
setCurrentProgram(getCurrentProgram());
@@ -814,11 +814,11 @@ void JaySynthAudioProcessor::setStateInformation (const void* data, int sizeInBy
{
if (xml->hasTagName ("JSynth"))
{
xml = xml->getFirstChildElement();
if (xml->hasTagName ("Bank"))
XmlElement *xml2 = xml->getFirstChildElement();
if (xml2->hasTagName ("Bank"))
{
xml = xml->getFirstChildElement();
xml2bank(xml);
XmlElement *xml3 = xml2->getFirstChildElement();
xml2bank(xml3);
}
}
setCurrentProgram(getCurrentProgram());