Fix crash when going from >2 outputs (2D panner) to <= 2 outputs.
[ardour.git] / gtk2_ardour / panner_ui.cc
index 0d2297383c4fcc1bb3efde306f33dcc4d9b4ac4b..e58af02f9b49f872cfc9046396d6025125091c08 100644 (file)
@@ -358,6 +358,9 @@ PannerUI::setup_pan ()
                        pan_adjustments.pop_back ();
                }
 
+               delete panner;
+               panner = 0;
+
                /* stick something into the panning viewport so that it redraws */
 
                EventBox* eb = manage (new EventBox());
@@ -376,6 +379,9 @@ PannerUI::setup_pan ()
                        pan_adjustments.pop_back ();
                }
 
+               delete panner;
+               panner = 0;
+
                while ((asz = pan_adjustments.size()) < npans) {
 
                        float x, rx;
@@ -447,8 +453,8 @@ PannerUI::setup_pan ()
                        panner->set_name ("MixerPanZone");
                        panner->show ();
 
-                       panner->signal_button_press_event().connect
-                               (sigc::bind (sigc::mem_fun(*this, &PannerUI::pan_button_event), (uint32_t) 0), false);
+                       panner->signal_button_press_event().connect
+                               (sigc::bind (sigc::mem_fun(*this, &PannerUI::pan_button_event), (uint32_t) 0), false);
                }
 
                update_pan_sensitive ();