add Slavable API for VCA assign/unassign
[ardour.git] / libs / ardour / io_processor.cc
index 824006206fac1bb919d68d24a4dd226905a4ffac..955447a3869f67390994088f7e50350278e6282a 100644 (file)
@@ -147,7 +147,7 @@ IOProcessor::set_state (const XMLNode& node, int version)
                return set_state_2X (node, version);
        }
 
-       const XMLProperty *prop;
+       XMLProperty const * prop;
        const XMLNode *io_node = 0;
 
        Processor::set_state(node, version);
@@ -168,9 +168,9 @@ IOProcessor::set_state (const XMLNode& node, int version)
        const string instr = enum_2_string (IO::Input);
        const string outstr = enum_2_string (IO::Output);
 
-       if (_own_input) {
+       if (_own_input && _input) {
                for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
-                       const XMLProperty* prop;
+                       XMLProperty const * prop;
                        if ((prop = (*niter)->property ("name")) != 0) {
                                if (_name == prop->value()) {
                                        if ((prop = (*niter)->property ("direction")) != 0) {
@@ -197,10 +197,10 @@ IOProcessor::set_state (const XMLNode& node, int version)
 
        }
 
-       if (_own_output) {
+       if (_own_output && _output) {
                for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
                        if ((*niter)->name() == "IO") {
-                               const XMLProperty* prop;
+                               XMLProperty const * prop;
                                if ((prop = (*niter)->property ("name")) != 0) {
                                        if (_name == prop->value()) {
                                                if ((prop = (*niter)->property ("direction")) != 0) {