Merge remote-tracking branch 'origin/master' into export-dialog
[ardour.git] / gtk2_ardour / editor_markers.cc
index 070ce4bc6e3c92fbfd0b2b133d7aa1bda877f76e..757b18b397a49c208836130030e04b4fd7d8448b 100644 (file)
@@ -17,7 +17,6 @@
 
 */
 
-#include <sigc++/retype.h>
 #include <cstdlib>
 #include <cmath>
 
@@ -1339,12 +1338,23 @@ Editor::marker_menu_rename ()
                /*NOTREACHED*/
        }
 
+
+       rename_marker (marker);
+}
+
+void
+Editor::rename_marker(Marker *marker)
+{
        Location* loc;
        bool is_start;
 
        loc = find_location_from_marker (marker, is_start);
 
-       if (!loc) return;
+       if (!loc)
+              return;
+
+       if (loc == transport_loop_location() || loc == transport_punch_location() || loc->is_session_range())
+               return;
 
        ArdourPrompter dialog (true);
        string txt;
@@ -1379,6 +1389,7 @@ Editor::marker_menu_rename ()
 
        dialog.get_result(txt);
        loc->set_name (txt);
+       _session->set_dirty ();
 
        XMLNode &after = _session->locations()->get_state();
        _session->add_command (new MementoCommand<Locations>(*(_session->locations()), &before, &after));