a better fix fpr that wierd XMLProperty botch
authorPaul Davis <paul@linuxaudiosystems.com>
Sat, 12 Mar 2011 20:23:56 +0000 (20:23 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Sat, 12 Mar 2011 20:23:56 +0000 (20:23 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@9128 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/ardour/export_preset.h
libs/ardour/export_preset.cc
libs/pbd/xml++.cc

index 595cfaf9bfa7b5d5473851c967f68a9ff377f146..b24cc70dcf0c9d129ab92a5e6b201c1e155f06a8 100644 (file)
@@ -53,7 +53,7 @@ class ExportPreset {
 
   private:
 
-       void set_id (std::string id);
+       void set_id (std::string const & id);
 
        XMLNode * get_instant_xml () const;
        void save_instant_xml () const;
index e26f4175f4661df65aa8a500ba2b060634f02356..eb405a5bd86b4dd21b2f672741a26db568b97f2c 100644 (file)
@@ -66,7 +66,7 @@ ExportPreset::set_name (string const & name)
 }
 
 void
-ExportPreset::set_id (string id)
+ExportPreset::set_id (string const & id)
 {
        _id = id;
 
index dbed9d191750d6ee812008f31a0e71476b417a4b..dc27b8b1a5e0259d4ffd1f59d6ad0754a75e897c 100644 (file)
@@ -377,8 +377,11 @@ XMLProperty*
 XMLNode::add_property(const char* n, const string& v)
 {
        string ns(n);
-       if (_propmap.find(ns) != _propmap.end()) {
-               remove_property(ns);
+        map<string,XMLProperty*>::iterator iter;
+       
+        if ((iter = _propmap.find(ns)) != _propmap.end()) {
+                iter->second->set_value (v);
+                return iter->second;
        }
 
        XMLProperty* tmp = new XMLProperty(ns, v);