~VST3PluginInstance()
{
jassert (getActiveEditor() == nullptr); // You must delete any editors before deleting the plugin instance!
releaseResources();
if (editControllerConnection != nullptr && componentConnection != nullptr)
{
editControllerConnection->disconnect (componentConnection);
componentConnection->disconnect (editControllerConnection);
}
editController->setComponentHandler (nullptr);
if (isControllerInitialised) editController->terminate();
if (isComponentInitialised) component->terminate(); //CRASH HERE
If you bypass this you get a AttributeList Leak.
Any ideas?
BTW this does not happen with 64 bit version of Vienna Ensemble and I noticed that when the Vienna VST3 instance is loaded the edtor dissappears and then reappears.
Wefixed some bugs in our VST3 implementation since you posted this, so it'd be worth trying again.
It's not smart to think in terms like "it works in other hosts so it's a juce bug". It'd be equally valid to say "Other plugins work in our host, so it's a plugin bug". But neither argument is solid, and there's no evidence in either direction for this case.
I've been doing this stuff for a long time, and have seen many situations where plugins fail in just one host because of stupid mistakes that are not the host's fault at all. Is this one of those cases? I've no idea. But if it's crashing inside the plugin's code, then something I know for sure is that only the plugin devs themselves can properly debug it.