diff --git a/gtk2_ardour/editor_sections.cc b/gtk2_ardour/editor_sections.cc index 5fe41c0338..09224833f4 100644 --- a/gtk2_ardour/editor_sections.cc +++ b/gtk2_ardour/editor_sections.cc @@ -273,7 +273,7 @@ EditorSections::selection_changed () return; } Gtk::TreeModel::Row row = *_model->get_iter (*rows.begin ()); - + Glib::RefPtr tact; timepos_t start = row[_columns.start]; timepos_t end = row[_columns.end]; @@ -284,14 +284,34 @@ EditorSections::selection_changed () /* OK */ break; case Editing::MouseObject: - if (ActionManager::get_toggle_action (PublicEditor::instance().editor_name().c_str(), "set-mouse-mode-object-range")->get_active ()) { + /* "object-range" mode is not a distinct mouse mode, so + we cannot use get_mouse_mode_action() here + */ + std::cerr << "A\n"; + tact = ActionManager::get_toggle_action (X_("Editing"), "set-mouse-mode-object-range"); + if (!tact) { + /* missing action */ + fatal << X_("programming error: missing mouse-mode-object-range action") << endmsg; + /*NOTREACHED*/ + break; + } + if (tact->get_active()) { /* smart mode; OK */ break; } /*fallthrough*/ default: - Glib::RefPtr ract = ActionManager::get_radio_action (PublicEditor::instance().editor_name().c_str(), X_("set-mouse-mode-range")); - ract->set_active (true); + std::cerr << "B\n"; + Glib::RefPtr ract = ActionManager::get_radio_action (X_("Editing"), X_("set-mouse-mode-range")); + if (!ract) { + /* missing action */ + fatal << X_("programming error: missing mouse-mode-range action") << endmsg; + /*NOTREACHED*/ + break; + } + if (ract) { + ract->set_active (true); + } break; } diff --git a/gtk2_ardour/time_info_box.cc b/gtk2_ardour/time_info_box.cc index 9cb1f6e87d..c6d74fe303 100644 --- a/gtk2_ardour/time_info_box.cc +++ b/gtk2_ardour/time_info_box.cc @@ -315,7 +315,7 @@ TimeInfoBox::selection_changed () case Editing::MouseRange: if (selection.time.empty()) { - Glib::RefPtr tact = ActionManager::get_toggle_action (PublicEditor::instance().editor_name().c_str(), "set-mouse-mode-object-range"); + Glib::RefPtr tact = ActionManager::get_toggle_action (X_("Editing"), "set-mouse-mode-object-range"); if (tact->get_active() && !selection.regions.empty()) { /* show selected regions */