fix leak of Panner,Pannable and MonoPanner (UI)
git-svn-id: svn://localhost/ardour2/branches/3.0@10332 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
d8b3ff1fce
commit
a49b0f53aa
|
@ -205,9 +205,9 @@ PannerUI::~PannerUI ()
|
|||
delete pan_astyle_menu;
|
||||
delete pan_astate_menu;
|
||||
delete _stereo_panner;
|
||||
delete _mono_panner;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PannerUI::panshell_changed ()
|
||||
{
|
||||
|
@ -279,23 +279,22 @@ PannerUI::setup_pan ()
|
|||
} else if (nins == 1) {
|
||||
/* 1-in/2out */
|
||||
|
||||
MonoPanner* mp;
|
||||
boost::shared_ptr<Pannable> pannable = _panner->pannable();
|
||||
boost::shared_ptr<AutomationControl> ac = pannable->pan_azimuth_control;
|
||||
|
||||
mp = new MonoPanner (_panner);
|
||||
|
||||
mp->StartGesture.connect (sigc::bind (sigc::mem_fun (*this, &PannerUI::start_touch),
|
||||
_mono_panner = new MonoPanner (_panner);
|
||||
|
||||
_mono_panner->StartGesture.connect (sigc::bind (sigc::mem_fun (*this, &PannerUI::start_touch),
|
||||
boost::weak_ptr<AutomationControl> (ac)));
|
||||
mp->StopGesture.connect (sigc::bind (sigc::mem_fun (*this, &PannerUI::stop_touch),
|
||||
_mono_panner->StopGesture.connect (sigc::bind (sigc::mem_fun (*this, &PannerUI::stop_touch),
|
||||
boost::weak_ptr<AutomationControl>(ac)));
|
||||
|
||||
mp->signal_button_release_event().connect (sigc::mem_fun(*this, &PannerUI::pan_button_event));
|
||||
_mono_panner->signal_button_release_event().connect (sigc::mem_fun(*this, &PannerUI::pan_button_event));
|
||||
|
||||
mp->set_size_request (-1, pan_bar_height);
|
||||
_mono_panner->set_size_request (-1, pan_bar_height);
|
||||
|
||||
update_pan_sensitive ();
|
||||
pan_vbox.pack_start (*mp, false, false);
|
||||
pan_vbox.pack_start (*_mono_panner, false, false);
|
||||
|
||||
} else {
|
||||
warning << string_compose (_("No panner user interface is currently available for %1-in/2out tracks/busses"),
|
||||
|
|
|
@ -107,6 +107,8 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
|
|||
Width _width;
|
||||
|
||||
StereoPanner* _stereo_panner;
|
||||
MonoPanner* _mono_panner;
|
||||
|
||||
bool _ignore_width_change;
|
||||
bool _ignore_position_change;
|
||||
void width_adjusted ();
|
||||
|
|
Loading…
Reference in New Issue