summaryrefslogtreecommitdiff
path: root/libs/pbd/stateful.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-02-19 18:09:08 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-02-19 18:09:08 +0000
commitfa701b8c065251d242342b86a54d91826d2290a0 (patch)
tree106865e709c61a1d3af045a26a757b22ba423c3e /libs/pbd/stateful.cc
parent728bedf9b917287ea76b98860dec04e72472230c (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.cc12
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);
+ }
}
}