Fix session sensitivity of some toolbar controls
authorRobin Gareus <robin@gareus.org>
Fri, 13 Dec 2019 15:33:12 +0000 (16:33 +0100)
committerRobin Gareus <robin@gareus.org>
Fri, 13 Dec 2019 15:33:12 +0000 (16:33 +0100)
gtk2_ardour/ardour_ui.cc
gtk2_ardour/ardour_ui_dependents.cc
gtk2_ardour/ardour_ui_dialogs.cc
gtk2_ardour/ardour_ui_ed.cc

index c12396e900262ce39b0c038fe81cbeda6a8dce2f..e556d8e1a339edbbcbe99d25bcfcf3d3ebf8be51 100644 (file)
@@ -2000,6 +2000,9 @@ ARDOUR_UI::map_transport_state ()
 {
        if (!_session) {
                layered_button.set_sensitive (false);
+               if (UIConfiguration::instance().get_screen_saver_mode () == InhibitWhileRecording) {
+                       inhibit_screensaver (false);
+               }
                return;
        }
 
index 213530e9f5b2172e70f7919a2094deffbf821d3a..42c1404733e97a34c087e739350d9a423ed8c110 100644 (file)
@@ -405,6 +405,9 @@ ARDOUR_UI::setup_windows ()
 bool
 ARDOUR_UI::bind_lua_action_script (GdkEventButton*ev, int i)
 {
+       if (!_session) {
+               return false;
+       }
        LuaInstance *li = LuaInstance::instance();
        std::string name;
        if (ev->button != 3 && !(ev->button == 1 && !li->lua_action_name (i, name))) {
index 8625b92210b56710045700325ac15c2a7640b15b..ebac8b2f2c6388f0b674887d952697c7b733ee76 100644 (file)
@@ -108,6 +108,8 @@ ARDOUR_UI::set_session (Session *s)
                virtual_keyboard_window->set_session (s);
        }
 
+       map_transport_state ();
+
        if (!_session) {
                WM::Manager::instance().set_session (s);
                /* Session option editor cannot exist across change-of-session */
index 0ca8a3425f5e6119223159c1379e6c88f83dda0e..e6a6dc09c727b6b7523506d3fd23502920a6dec3 100644 (file)
@@ -484,6 +484,7 @@ ARDOUR_UI::install_actions ()
        ActionManager::transport_sensitive_actions.push_back (act);
 
        act = ActionManager::register_toggle_action (main_actions, X_("ToggleLatencyCompensation"), _("Disable Latency Compensation"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_latency_switch));
+       ActionManager::session_sensitive_actions.push_back (act);
 
        act = ActionManager::register_action (main_actions, X_("MonitorMenu"), _("Monitor Section")); /* just the submenu item */
        ActionManager::session_sensitive_actions.push_back (act);