delete 'big' 2d panner window, if panner changes to mono|stereo
authorRobin Gareus <robin@gareus.org>
Mon, 13 Jan 2014 11:02:00 +0000 (12:02 +0100)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 13 Jan 2014 14:39:50 +0000 (09:39 -0500)
gtk2_ardour/panner2d.cc
gtk2_ardour/panner_ui.cc

index 552ddae651c28f937a86eeba7ab7d4f149d7827f..c3b87ba5e498c5265910791c84e32ac97f3623c4 100644 (file)
@@ -202,10 +202,6 @@ Panner2d::handle_state_change ()
 {
        panconnect.drop_connections();
        if (!panner_shell->panner()) {
-               /* we should really self-destruct the UI here
-                * -> * PannerUI::set_panner() -> delete
-                */
-               queue_draw ();
                return;
        }
 
index 53ec589d70ad3b87025091d038e600caa49b10d6..af297a85075843149c9f8cbdce727e201df3b666 100644 (file)
@@ -231,11 +231,16 @@ PannerUI::setup_pan ()
        _mono_panner = 0;
 
        if (!_panner) {
+               delete big_window;
+               big_window = 0;
                return;
        }
 
        if (_panshell->panner_gui_uri() == "http://ardour.org/plugin/panner_2in2out#ui")
        {
+               delete big_window;
+               big_window = 0;
+
                boost::shared_ptr<Pannable> pannable = _panner->pannable();
 
                _stereo_panner = new StereoPanner (_panshell);
@@ -260,6 +265,8 @@ PannerUI::setup_pan ()
        else if (_panshell->panner_gui_uri() == "http://ardour.org/plugin/panner_1in2out#ui"
                        || _panshell->panner_gui_uri() == "http://ardour.org/plugin/panner_balance#ui")
        {
+               delete big_window;
+               big_window = 0;
                boost::shared_ptr<Pannable> pannable = _panner->pannable();
                boost::shared_ptr<AutomationControl> ac = pannable->pan_azimuth_control;