Merge branch 'master' into cairocanvas
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 18 Oct 2013 19:39:12 +0000 (15:39 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 18 Oct 2013 19:39:12 +0000 (15:39 -0400)
libs/ardour/ardour/session.h
libs/ardour/session.cc
libs/ardour/session_state.cc

index 9c4edfa1a1c257a79b9d13cee83f2477001a98f7..8226f168664965b8a158e68950758831d1f053fd 100644 (file)
@@ -1610,7 +1610,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
 
     void setup_ltc ();
     void setup_click ();
-    void setup_click_state (const XMLNode&);
+    void setup_click_state (const XMLNode*);
     void setup_bundles ();
 
     static int get_session_info_from_path (XMLTree& state_tree, const std::string& xmlpath);
index 28849e29305c2ecd1163c31f10af012520821f6c..0d078690f1a9caeda91b1b639168cd0614c8e720 100644 (file)
@@ -597,16 +597,18 @@ Session::setup_click ()
        _click_gain.reset (new Amp (*this));
        _click_gain->activate ();
        if (state_tree) {
-               setup_click_state (*state_tree->root());
+               setup_click_state (state_tree->root());
+       } else {
+               setup_click_state (0);
        }
 }
 
 void
-Session::setup_click_state (const XMLNode& node)
+Session::setup_click_state (const XMLNode* node)
 {      
        const XMLNode* child = 0;
-
-       if ((child = find_named_node (node, "Click")) != 0) {
+       
+       if (node && (child = find_named_node (*node, "Click")) != 0) {
                
                /* existing state for Click */
                int c = 0;
index 94e9f005644b38c52c72d5cb49ee9fcf3d9854b9..ec29f8a373eb0a1e6f1b924a0ec2eb509e3a1845 100644 (file)
@@ -1317,7 +1317,7 @@ Session::set_state (const XMLNode& node, int version)
        if ((child = find_named_node (node, "Click")) == 0) {
                warning << _("Session: XML state has no click section") << endmsg;
        } else if (_click_io) {
-               setup_click_state (node);
+               setup_click_state (&node);
        }
 
        if ((child = find_named_node (node, ControlProtocolManager::state_node_name)) != 0) {