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)
committerRobin Gareus <robin@gareus.org>
Mon, 13 Jan 2014 11:02:00 +0000 (12:02 +0100)
gtk2_ardour/panner2d.cc
gtk2_ardour/panner_ui.cc

index 9de8123ea82c9d8a31e096e6abde9f053ba67850..6c37de164b6cbba1f83b93af15f85219a51367a5 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 3602225c8887706b8bb73dd3c661bc962f92cdd2..ab4279a154fdea296fbcd9171c9fe8f1b326bb82 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;