| @@ -998,7 +998,8 @@ private: | |||||
| void releaseFactory() | void releaseFactory() | ||||
| { | { | ||||
| const Steinberg::FReleaser releaser (factory); | |||||
| if (factory != nullptr) | |||||
| factory->release(); | |||||
| } | } | ||||
| #if JUCE_WINDOWS | #if JUCE_WINDOWS | ||||
| @@ -1222,7 +1223,7 @@ public: | |||||
| [pluginHandle release]; | [pluginHandle release]; | ||||
| #endif | #endif | ||||
| const Steinberg::FReleaser releaser (view); | |||||
| view = nullptr; | |||||
| } | } | ||||
| JUCE_DECLARE_VST3_COM_REF_METHODS | JUCE_DECLARE_VST3_COM_REF_METHODS | ||||
| @@ -1284,7 +1285,8 @@ public: | |||||
| dummyComponent.setBounds (0, 0, (int) rect.getWidth(), (int) rect.getHeight()); | dummyComponent.setBounds (0, 0, (int) rect.getWidth(), (int) rect.getHeight()); | ||||
| #endif | #endif | ||||
| Desktop::getInstance().getMainMouseSource().forceMouseCursorUpdate(); // Some plugins don't update their cursor correctly when mousing out the window | |||||
| // Some plugins don't update their cursor correctly when mousing out the window | |||||
| Desktop::getInstance().getMainMouseSource().forceMouseCursorUpdate(); | |||||
| recursiveResize = false; | recursiveResize = false; | ||||
| } | } | ||||
| @@ -1316,7 +1318,7 @@ public: | |||||
| private: | private: | ||||
| //============================================================================== | //============================================================================== | ||||
| Atomic<int> refCount; | Atomic<int> refCount; | ||||
| IPlugView* view; // N.B.: Don't use a ComSmartPtr here! The view should start with a refCount of 1, and does NOT need to be incremented! | |||||
| ComSmartPtr<IPlugView> view; | |||||
| #if JUCE_WINDOWS | #if JUCE_WINDOWS | ||||
| class ChildComponent : public Component | class ChildComponent : public Component | ||||
| @@ -1452,7 +1454,8 @@ public: | |||||
| if (! fetchComponentAndController (factory, factory->countClasses())) | if (! fetchComponentAndController (factory, factory->countClasses())) | ||||
| return false; | return false; | ||||
| editController->initialize (host->getFUnknown()); // (May return an error if the plugin combines the IComponent and IEditController implementations) | |||||
| // (May return an error if the plugin combines the IComponent and IEditController implementations) | |||||
| editController->initialize (host->getFUnknown()); | |||||
| isControllerInitialised = true; | isControllerInitialised = true; | ||||
| editController->setComponentHandler (host); | editController->setComponentHandler (host); | ||||