cleanup up cleanup at session destruction; clarify the meaning of 3 signals (DropRefe...
[ardour.git] / gtk2_ardour / editor_selection_list.cc
index ddf73b8e4eb08bde196e0253f0572dce50f23fb8..62b04d8efa231a49b355ef3533f67b16863392f9 100644 (file)
@@ -39,7 +39,6 @@
 #include "i18n.h"
 
 using namespace std;
-using namespace sigc;
 using namespace ARDOUR;
 using namespace PBD;
 using namespace Gtk;
@@ -48,15 +47,15 @@ using namespace Gtkmm2ext;
 void
 Editor::handle_new_named_selection ()
 {
-       ARDOUR_UI::instance()->call_slot (sigc::mem_fun(*this, &Editor::redisplay_named_selections));
+       ARDOUR_UI::instance()->call_slot (boost::bind (&Editor::redisplay_named_selections, this));
 }
 
 void
-Editor::add_named_selection_to_named_selection_display (NamedSelection& selection)
+Editor::add_named_selection_to_named_selection_display (boost::shared_ptr<NamedSelection> selection)
 {
         TreeModel::Row row = *(named_selection_model->append());
        row[named_selection_columns.text] = selection.name;
-       row[named_selection_columns.selection] = &selection;
+       row[named_selection_columns.selection] = selection;
 }
 
 void
@@ -196,13 +195,14 @@ Editor::create_named_selection ()
                        return;
                }
 
-               new NamedSelection (name, thelist); // creation will add it to the model
-
+               boost::shared_ptr<NamedSelection> ns (new NamedSelection (name, thelist));
+               
                /* make the one we just added be selected */
 
                TreeModel::Children::iterator added = named_selection_model->children().end();
                --added;
                named_selection_display.get_selection()->select (*added);
+
        } else {
                error << _("No selectable material found in the currently selected time range") << endmsg;
        }