diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-10-29 12:57:07 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-10-29 12:57:07 +0000 |
commit | a49b0f53aa2d83a9291c35f323f90b46d8869390 (patch) | |
tree | 01da2f9f1ec8b226e2f0d33b172b95c84f0b0dab /gtk2_ardour/panner_ui.cc | |
parent | d8b3ff1fce6bc44647a59c59e9dc42772e838b65 (diff) |
fix leak of Panner,Pannable and MonoPanner (UI)
git-svn-id: svn://localhost/ardour2/branches/3.0@10332 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/panner_ui.cc')
-rw-r--r-- | gtk2_ardour/panner_ui.cc | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc index 05c2843630..16d7a19009 100644 --- a/gtk2_ardour/panner_ui.cc +++ b/gtk2_ardour/panner_ui.cc @@ -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"), |