summaryrefslogtreecommitdiff
path: root/libs/ardour/session_state.cc
diff options
context:
space:
mode:
authorJohannes Mueller <github@johannes-mueller.org>2017-08-19 19:45:08 +0200
committerRobin Gareus <robin@gareus.org>2017-08-20 21:09:30 +0200
commitbd4db1e15139df141144310199b73c77d701c4b2 (patch)
tree49ed7331d6115d9bddcc4cd6a110423acfc299c9 /libs/ardour/session_state.cc
parent419b1c1cfdb2f6fee97312ab5b56a8579623534a (diff)
Remove the template description XMLNode before saving the template
... to avoid that the new template description is concatenated to the old one.
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r--libs/ardour/session_state.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index 0bf09f76c6..287822a6a6 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -2414,12 +2414,13 @@ Session::save_template (const string& template_name, const string& description,
XMLNode* root;
{
PBD::Unwinder<std::string> uw (_template_state_dir, template_dir_path);
- root = &get_template();
+ root = &get_template ();
}
+ root->remove_nodes (X_("description"));
if (!description.empty()) {
- XMLNode* desc = new XMLNode(X_("description"));
- XMLNode* desc_cont = new XMLNode(X_("content"), description);
+ XMLNode* desc = new XMLNode (X_("description"));
+ XMLNode* desc_cont = new XMLNode (X_("content"), description);
desc->add_child_nocopy (*desc_cont);
root->add_child_nocopy (*desc);