mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-02-08 04:20:09 +00:00
VST3: Fixed a memory leak
This commit is contained in:
parent
ba2575a4d3
commit
e821dd9b8e
1 changed files with 6 additions and 7 deletions
|
|
@ -2296,7 +2296,7 @@ public:
|
|||
|
||||
if (head != nullptr)
|
||||
{
|
||||
ComSmartPtr<Steinberg::MemoryStream> componentStream (createMemoryStreamForState (*head, "IComponent"));
|
||||
auto componentStream (createMemoryStreamForState (*head, "IComponent"));
|
||||
|
||||
if (componentStream != nullptr && holder->component != nullptr)
|
||||
holder->component->setState (componentStream);
|
||||
|
|
@ -2310,7 +2310,7 @@ public:
|
|||
editController->setComponentState (componentStream);
|
||||
}
|
||||
|
||||
ComSmartPtr<Steinberg::MemoryStream> controllerStream = createMemoryStreamForState (*head, "IEditController");
|
||||
auto controllerStream (createMemoryStreamForState (*head, "IEditController"));
|
||||
|
||||
if (controllerStream != nullptr)
|
||||
editController->setState (controllerStream);
|
||||
|
|
@ -2515,23 +2515,22 @@ private:
|
|||
}
|
||||
}
|
||||
|
||||
static Steinberg::MemoryStream* createMemoryStreamForState (XmlElement& head, StringRef identifier)
|
||||
static ComSmartPtr<Steinberg::MemoryStream> createMemoryStreamForState (XmlElement& head, StringRef identifier)
|
||||
{
|
||||
Steinberg::MemoryStream* stream = nullptr;
|
||||
|
||||
if (auto* state = head.getChildByName (identifier))
|
||||
{
|
||||
MemoryBlock mem;
|
||||
|
||||
if (mem.fromBase64Encoding (state->getAllSubText()))
|
||||
{
|
||||
stream = new Steinberg::MemoryStream();
|
||||
ComSmartPtr<Steinberg::MemoryStream> stream (new Steinberg::MemoryStream(), false);
|
||||
stream->setSize ((TSize) mem.getSize());
|
||||
mem.copyTo (stream->getData(), 0, mem.getSize());
|
||||
return stream;
|
||||
}
|
||||
}
|
||||
|
||||
return stream;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
ComSmartPtr<ParamValueQueueList> inputParameterChanges, outputParameterChanges;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue