diff options
author | David Robillard <d@drobilla.net> | 2015-08-29 03:52:40 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2015-08-29 03:52:40 +0000 |
commit | 5bab69b6a79f1693e9337bdf162cf6d1889a2223 (patch) | |
tree | e8fc954be87e5a4f2dfeaf66efdc1c1346481a51 /src/server/events | |
parent | ab26d49a68ce04fce8ba11c301b67a801a6e7acf (diff) | |
download | ingen-5bab69b6a79f1693e9337bdf162cf6d1889a2223.tar.gz ingen-5bab69b6a79f1693e9337bdf162cf6d1889a2223.tar.bz2 ingen-5bab69b6a79f1693e9337bdf162cf6d1889a2223.zip |
Set properties uniquely for set method.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5712 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/events')
-rw-r--r-- | src/server/events/Delta.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/server/events/Delta.cpp b/src/server/events/Delta.cpp index dc6759b0..a768beb0 100644 --- a/src/server/events/Delta.cpp +++ b/src/server/events/Delta.cpp @@ -230,10 +230,16 @@ Delta::pre_process() } } - // Remove all added properties if this is a put - if (_type == Type::PUT && _object) { - for (const auto& p : _properties) { - _object->remove_property(p.first, p.second); + // Remove all added properties if this is a put or set + if (_object) { + if (_type == Type::PUT) { + for (const auto& p : _properties) { + _object->remove_property(p.first, p.second); + } + } else if (_type == Type::SET) { + for (const auto& p : _properties) { + _object->remove_property(p.first, uris.patch_wildcard); + } } } |