From 2c03f2abd3d3d98a81020438ca805acded39dbab Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 24 Jan 2014 04:47:33 +0000 Subject: Remove redundant and unnecessary properties from saved graphs and protocol. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5321 a436a847-0d15-0410-975c-d299462d15a1 --- src/server/events/Delta.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/server/events/Delta.cpp') diff --git a/src/server/events/Delta.cpp b/src/server/events/Delta.cpp index 072d0ba3..0c134ede 100644 --- a/src/server/events/Delta.cpp +++ b/src/server/events/Delta.cpp @@ -148,9 +148,10 @@ Delta::pre_process() NodeImpl* obj = dynamic_cast(_object); + // Remove any properties removed in delta for (const auto& r : _remove) { - const Raul::URI& key = r.first; - const Atom& value = r.second; + const Raul::URI& key = r.first; + const Atom& value = r.second; if (key == uris.midi_binding && value == uris.patch_wildcard) { PortImpl* port = dynamic_cast(_object); if (port) @@ -161,6 +162,13 @@ Delta::pre_process() } } + // Remove all added properties if this is a put + if (_create && _object) { + for (const auto& p : _properties) { + _object->remove_property(p.first, p.second); + } + } + for (const auto& p : _properties) { const Raul::URI& key = p.first; const Resource::Property& value = p.second; -- cgit v1.2.1