change ownership of processor window-proxy

fixes crashes:
* If the Editor-Mixer shows a channel with a plugin that
has been edited in the Mixer, double-clicking the plugin 
will try to bring up a 2nd instance of the plugin-UI.
* When closing Ardour both the Mixer and the Editor-Mixer try to delete the underlying plugin, resulting in a double free.
This commit is contained in:
Robin Gareus 2014-11-29 01:35:49 +01:00
parent 784b96e255
commit 58663db374
4 changed files with 30 additions and 119 deletions

View file

@ -63,6 +63,7 @@ Processor::Processor(Session& session, const string& name)
, _display_to_user (true)
, _pre_fader (false)
, _ui_pointer (0)
, _window_proxy (0)
, _owner (0)
{
}
@ -79,6 +80,8 @@ Processor::Processor (const Processor& other)
, _display_to_user (true)
, _pre_fader (false)
, _ui_pointer (0)
, _window_proxy (0)
, _owner (0)
{
}
@ -271,6 +274,12 @@ Processor::set_ui (void* p)
_ui_pointer = p;
}
void
Processor::set_window_proxy (ProcessorWindowProxy* wp)
{
_window_proxy = wp;
}
void
Processor::set_owner (SessionObject* o)
{