summaryrefslogtreecommitdiffstats
path: root/src/object-set.cpp
diff options
context:
space:
mode:
authorAdrian Boguszewski <adrbogus1@student.pg.gda.pl>2016-06-11 09:31:39 +0000
committerAdrian Boguszewski <adrbogus1@student.pg.gda.pl>2016-06-11 09:31:39 +0000
commit6e8779121b88278d108e86e22fbe19bd6d6cc254 (patch)
tree939926f0f5c30292d1c525003b1af567592a60e8 /src/object-set.cpp
parentRemoved Object class and temporary test dependencies (diff)
parent[Bug 1588983] Finish up German tutorials for 0.92 - part 3. (diff)
downloadinkscape-6e8779121b88278d108e86e22fbe19bd6d6cc254.tar.gz
inkscape-6e8779121b88278d108e86e22fbe19bd6d6cc254.zip
Added return value to remove
(bzr r14954.1.5)
Diffstat (limited to 'src/object-set.cpp')
-rw-r--r--src/object-set.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/object-set.cpp b/src/object-set.cpp
index df4bc1435..ba7999c19 100644
--- a/src/object-set.cpp
+++ b/src/object-set.cpp
@@ -9,6 +9,7 @@
* Released under GNU GPL, read the file 'COPYING' for more information
*/
+#include <sigc++/sigc++.h>
#include "object-set.h"
bool ObjectSet::add(SPObject* object) {
@@ -27,24 +28,21 @@ bool ObjectSet::add(SPObject* object) {
return true;
}
-void ObjectSet::remove(SPObject* object) {
+bool ObjectSet::remove(SPObject* object) {
// object is the top of subtree
if (contains(object)) {
_remove(object);
- // TODO
-// return true;
+ return true;
}
// any ancestor of object is in the set
if (_anyAncestorIsInSet(object)) {
_removeAncestorsFromSet(object);
- // TODO
-// return true;
+ return true;
}
// no object nor any parent in the set
- // TODO
-// return false;
+ return false;
}
bool ObjectSet::contains(SPObject* object) {
@@ -92,7 +90,7 @@ void ObjectSet::_remove(SPObject *object) {
}
void ObjectSet::_add(SPObject *object) {
- releaseConnections[object] = object->connectRelease(sigc::mem_fun(*this, &ObjectSet::remove));
+ releaseConnections[object] = object->connectRelease(sigc::hide_return(sigc::mem_fun(*this, &ObjectSet::remove)));
container.push_back(object);
}