diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-02-19 18:09:08 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-02-19 18:09:08 +0000 |
commit | fa701b8c065251d242342b86a54d91826d2290a0 (patch) | |
tree | 106865e709c61a1d3af045a26a757b22ba423c3e /libs/pbd/stateful.cc | |
parent | 728bedf9b917287ea76b98860dec04e72472230c (diff) |
change PropertyChange from a bitfield into a real object, with all the many widespread changes that causes
git-svn-id: svn://localhost/ardour2/branches/3.0@6701 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/pbd/stateful.cc')
-rw-r--r-- | libs/pbd/stateful.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libs/pbd/stateful.cc b/libs/pbd/stateful.cc index a8dd7a4177..9a1a116128 100644 --- a/libs/pbd/stateful.cc +++ b/libs/pbd/stateful.cc @@ -196,10 +196,12 @@ Stateful::changed (PropertyChange& c) const PropertyChange Stateful::set_properties (XMLNode const & node) { - PropertyChange c = PropertyChange (0); + PropertyChange c; for (OwnedPropertyList::iterator i = _properties.begin(); i != _properties.end(); ++i) { - c = PropertyChange (c | i->second->set_state (node)); + if (i->second->set_state (node)) { + c.add (i->first); + } } post_set (); @@ -210,12 +212,14 @@ Stateful::set_properties (XMLNode const & node) PropertyChange Stateful::set_properties (const PropertyList& property_list) { - PropertyChange c = PropertyChange (0); + PropertyChange c; PropertyList::const_iterator p; for (OwnedPropertyList::iterator i = _properties.begin(); i != _properties.end(); ++i) { if ((p = property_list.find (i->first)) != property_list.end()) { - c = PropertyChange (c|set_property (*(p->second))); + if (set_property (*p->second)) { + c.add (i->first); + } } } |