diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc index 7fab6e5691..27750eeb43 100644 --- a/gtk2_ardour/ardour_ui_options.cc +++ b/gtk2_ardour/ardour_ui_options.cc @@ -279,6 +279,7 @@ void ARDOUR_UI::toggle_editing_space() { Glib::RefPtr act = ActionManager::get_action ("Common", "ToggleMaximalEditor"); + if (act) { Glib::RefPtr tact = Glib::RefPtr::cast_dynamic(act); if (tact->get_active()) { diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 31d5b495fe..e98a63b6a0 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -3558,7 +3558,9 @@ Editor::pane_allocation_handler (Allocation &alloc, Paned* which) void Editor::detach_tearoff (Box* /*b*/, Window* /*w*/) { - if (_tools_tearoff->torn_off() && _mouse_mode_tearoff->torn_off()) { + if ((_tools_tearoff->torn_off() || !_tools_tearoff->visible()) && + (_mouse_mode_tearoff->torn_off() || !_mouse_mode_tearoff->visible()) && + (_zoom_tearoff->torn_off() || !_zoom_tearoff->visible())) { top_hbox.remove (toolbar_frame); } } @@ -3897,6 +3899,9 @@ Editor::session_state_saved (string) void Editor::maximise_editing_space () { + /* these calls will leave each tearoff visible *if* it is torn off + */ + _mouse_mode_tearoff->set_visible (false); _tools_tearoff->set_visible (false); _zoom_tearoff->set_visible (false);