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

@ -91,9 +91,6 @@ class ProcessorWindowProxy : public WM::ProxyBase
void toggle();
void set_custom_ui_mode(bool use_custom) { want_custom = use_custom; }
bool marked;
bool valid () const;
void set_state (const XMLNode&);
XMLNode& get_state () const;
@ -442,8 +439,8 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
void route_property_changed (const PBD::PropertyChange&);
std::string generate_processor_title (boost::shared_ptr<ARDOUR::PluginInsert> pi);
typedef std::list<ProcessorWindowProxy*> ProcessorWindowProxies;
ProcessorWindowProxies _processor_window_info;
//typedef std::list<ProcessorWindowProxy*> ProcessorWindowProxies;
//ProcessorWindowProxies _processor_window_info;
ProcessorWindowProxy* find_window_proxy (boost::shared_ptr<ARDOUR::Processor>) const;