Fixed some valgrind errors from using uninitialized variables in
[ardour.git] / gtk2_ardour / mixer_ui.cc
index dd0eb6e693cad7773b58f7587c139a5fb6af07a5..2d0a37cd4755c4794a67be37645cbbe2d0317f84 100644 (file)
@@ -85,10 +85,11 @@ Mixer_UI::Mixer_UI (AudioEngine& eng)
        track_display.append_column (_("Visible"), track_columns.visible);
        track_display.get_column (0)->set_data (X_("colnum"), GUINT_TO_POINTER(0));
        track_display.get_column (1)->set_data (X_("colnum"), GUINT_TO_POINTER(1));
+       track_display.get_column (0)->set_expand(true);
+       track_display.get_column (1)->set_expand(false);
        track_display.set_name (X_("MixerTrackDisplayList"));
        track_display.get_selection()->set_mode (Gtk::SELECTION_NONE);
        track_display.set_reorderable (true);
-       track_display.set_size_request (100, -1);
        track_display.set_headers_visible (true);
 
        track_model->signal_row_deleted().connect (mem_fun (*this, &Mixer_UI::track_list_delete));
@@ -105,18 +106,19 @@ Mixer_UI::Mixer_UI (AudioEngine& eng)
 
        group_model = ListStore::create (group_columns);
        group_display.set_model (group_model);
-       group_display.append_column (_("groupname"), group_columns.text);
-       group_display.append_column (_("active"), group_columns.active);
-       group_display.append_column (_("visible"), group_columns.visible);
+       group_display.append_column (_("Group"), group_columns.text);
+       group_display.append_column (_("Active"), group_columns.active);
+       group_display.append_column (_("Visible"), group_columns.visible);
        group_display.get_column (0)->set_data (X_("colnum"), GUINT_TO_POINTER(0));
        group_display.get_column (1)->set_data (X_("colnum"), GUINT_TO_POINTER(1));
        group_display.get_column (2)->set_data (X_("colnum"), GUINT_TO_POINTER(2));
+       group_display.get_column (0)->set_expand(true);
+       group_display.get_column (1)->set_expand(false);
+       group_display.get_column (2)->set_expand(false);
        group_display.set_name ("MixerGroupList");
        group_display.get_selection()->set_mode (Gtk::SELECTION_SINGLE);
        group_display.set_reorderable (true);
-       group_display.set_size_request (150, -1);
        group_display.set_headers_visible (true);
-               group_display.set_headers_clickable (false);
        group_display.set_rules_hint (true);
 
        /* name is directly editable */
@@ -144,8 +146,7 @@ Mixer_UI::Mixer_UI (AudioEngine& eng)
        group_display_scroller.add (group_display);
        group_display_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
 
-       HButtonBox* mix_group_display_button_box = manage (new HButtonBox());
-       mix_group_display_button_box->set_homogeneous (true);
+       HBox* mix_group_display_button_box = manage (new HBox());
 
        Button* mix_group_add_button = manage (new Button ());
        Button* mix_group_remove_button = manage (new Button ());
@@ -160,11 +161,13 @@ Mixer_UI::Mixer_UI (AudioEngine& eng)
        w->show();
        mix_group_remove_button->add (*w);
 
+       mix_group_display_button_box->set_homogeneous (true);
+
        mix_group_add_button->signal_clicked().connect (mem_fun (*this, &Mixer_UI::new_mix_group));
        mix_group_remove_button->signal_clicked().connect (mem_fun (*this, &Mixer_UI::remove_selected_mix_group));
 
-       mix_group_display_button_box->pack_start (*mix_group_add_button, false, false);
-       mix_group_display_button_box->pack_start (*mix_group_remove_button, false, false);
+       mix_group_display_button_box->add (*mix_group_remove_button);
+       mix_group_display_button_box->add (*mix_group_add_button);
 
        group_display_vbox.pack_start (group_display_scroller, true, true);
        group_display_vbox.pack_start (*mix_group_display_button_box, false, false);
@@ -177,8 +180,8 @@ Mixer_UI::Mixer_UI (AudioEngine& eng)
        group_display_frame.set_shadow_type (Gtk::SHADOW_IN);
        group_display_frame.add (group_display_vbox);
 
-       rhs_pane1.add1 (track_display_frame);
-       rhs_pane1.add2 (group_display_frame);
+       rhs_pane1.pack1 (track_display_frame);
+       rhs_pane1.pack2 (group_display_frame);
 
        list_vpacker.pack_start (rhs_pane1, true, true);
 
@@ -954,6 +957,8 @@ Mixer_UI::add_mix_group (RouteGroup* group)
        ENSURE_GUI_THREAD(bind (mem_fun(*this, &Mixer_UI::add_mix_group), group));
        bool focus = false;
 
+       in_group_row_change = true;
+
        TreeModel::Row row = *(group_model->append());
        row[group_columns.active] = group->is_active();
        row[group_columns.visible] = true;
@@ -972,6 +977,8 @@ Mixer_UI::add_mix_group (RouteGroup* group)
                CellRendererText* name_cell = dynamic_cast<CellRendererText*>(group_display.get_column_cell_renderer (0));
                group_display.set_cursor (group_model->get_path (row), *col, *name_cell, true);
        }
+
+       in_group_row_change = false;
 }
 
 bool