This fixes crashes with plugins calling setDirty() when the UI is closed. `plugin` has already been reset before the actual window is closed: `PluginUIWindow::~PluginUIWindow()` runs, and destroys the window, here `~VST3NSViewPluginUI ()`. This closes the VST3 view, which triggers a `VST3PI::setDirty`. At this point in time `~PlugUIBase()` has not yet run, so all signals are still connected. setDirty() ends up calling PlugUIBase::update_preset_modified() which access `plugin` pointer, which is NULL.
27 KiB
27 KiB