summaryrefslogtreecommitdiffstats
path: root/src/engine/GraphObjectImpl.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-05-27 17:42:51 +0000
committerDavid Robillard <d@drobilla.net>2009-05-27 17:42:51 +0000
commitc11ecf0fd10641218326ae384e80413ba3cdf46c (patch)
tree52ea61f88167a2e7eacc8fa5ff0ee39ee25b2e7e /src/engine/GraphObjectImpl.cpp
parent8feac4ed0e764c677d4d208377e956c6db94d2dd (diff)
downloadingen-c11ecf0fd10641218326ae384e80413ba3cdf46c.tar.gz
ingen-c11ecf0fd10641218326ae384e80413ba3cdf46c.tar.bz2
ingen-c11ecf0fd10641218326ae384e80413ba3cdf46c.zip
Remove 'new_patch', 'new_node', and 'new_port' from interface in favour of generic 'put'.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2011 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/GraphObjectImpl.cpp')
-rw-r--r--src/engine/GraphObjectImpl.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/engine/GraphObjectImpl.cpp b/src/engine/GraphObjectImpl.cpp
index 71730202..ef4e2cd4 100644
--- a/src/engine/GraphObjectImpl.cpp
+++ b/src/engine/GraphObjectImpl.cpp
@@ -30,7 +30,14 @@ using namespace Shared;
void
GraphObjectImpl::set_variable(const Raul::URI& key, const Atom& value)
{
- _variables[key] = value;
+ // Ignore duplicate statements
+ typedef Resource::Properties::const_iterator iterator;
+ const std::pair<iterator,iterator> range = _variables.equal_range(key);
+ for (iterator i = range.first; i != range.second; ++i)
+ if (i->second == value)
+ return;
+
+ _variables.insert(make_pair(key, value));
}