diff options
Diffstat (limited to 'src/libs')
-rw-r--r-- | src/libs/client/Serializer.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libs/client/Serializer.cpp b/src/libs/client/Serializer.cpp index 68fcdd38..767d86d9 100644 --- a/src/libs/client/Serializer.cpp +++ b/src/libs/client/Serializer.cpp @@ -219,7 +219,11 @@ Serializer::serialize_patch(SharedPtr<PatchModel> patch, unsigned depth) for (NodeModelMap::const_iterator n = patch->nodes().begin(); n != patch->nodes().end(); ++n) { _writer.write(patch_id, NS_INGEN("node"), path_to_node_id(n->second->path())); - serialize_node(n->second, depth+1); + SharedPtr<PatchModel> patch = PtrCast<PatchModel>(n->second); + if (patch) + serialize_patch(patch, depth+1); + else + serialize_node(n->second, depth+1); } for (PortModelList::const_iterator p = patch->ports().begin(); p != patch->ports().end(); ++p) { |