13
0

Handle some midnam edge-cases

Whitespace between XML nodes can result in "text" children.
Those need to be skipped in the patch-name list.
This commit is contained in:
Robin Gareus 2018-11-23 22:43:26 +01:00
parent 771ddcc86f
commit 948c5d0706

View File

@ -113,7 +113,7 @@ int
Patch::set_state (const XMLTree& tree, const XMLNode& node)
{
if (node.name() != "Patch") {
cerr << "Incorrect node " << node.name() << " handed to Patch" << endl;
cerr << "Incorrect node type '" << node.name() << "' handed to Patch" << endl;
return -1;
}
@ -437,8 +437,9 @@ PatchBank::set_state (const XMLTree& tree, const XMLNode& node)
const XMLNodeList patches = patch_name_list->children();
for (XMLNodeList::const_iterator i = patches.begin(); i != patches.end(); ++i) {
boost::shared_ptr<Patch> patch (new Patch (string(), 0, _number));
patch->set_state(tree, *(*i));
_patch_name_list.push_back(patch);
if (0 == patch->set_state(tree, *(*i))) {
_patch_name_list.push_back(patch);
}
}
} else {
XMLNode* use_patch_name_list = node.child ("UsesPatchNameList");