From 67a8adbc93991acfb688f378f52392995a272fac Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 13 Jan 2013 07:49:49 +0000 Subject: Change model to have a single initial node. Merge multiple recording into branches off the same initial node. Make transport state sane with 3 distinct states. Handle announcing objects several times correctly. Don't send useless zero coordinates for new nodes, position in visible area. Rewrite and clean up Machine code. Update help. git-svn-id: http://svn.drobilla.net/lad/trunk/machina@4954 a436a847-0d15-0410-975c-d299462d15a1 --- src/client/ClientModel.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/client/ClientModel.cpp') diff --git a/src/client/ClientModel.cpp b/src/client/ClientModel.cpp index 099d997..e033509 100644 --- a/src/client/ClientModel.cpp +++ b/src/client/ClientModel.cpp @@ -35,8 +35,11 @@ ClientModel::find(uint64_t id) void ClientModel::new_object(SPtr object) { - _objects.insert(object); - signal_new_object.emit(object); + Objects::iterator i = _objects.find(object); + if (i == _objects.end()) { + _objects.insert(object); + signal_new_object.emit(object); + } } void @@ -49,7 +52,7 @@ ClientModel::erase_object(uint64_t id) } signal_erase_object.emit(*i); - (*i)->set_view(SPtr()); + (*i)->set_view(NULL); _objects.erase(i); } -- cgit v1.2.1