summaryrefslogtreecommitdiffstats
path: root/src/xml/subtree.cpp
diff options
context:
space:
mode:
authorMenTaLguY <mental@rydia.net>2007-07-01 20:08:45 +0000
committermental <mental@users.sourceforge.net>2007-07-01 20:08:45 +0000
commitcf293d81a6c979f0266a86f5f8494551ac9c62b9 (patch)
tree9168fb9f05e8b1f190bb12bd3024402088dc188d /src/xml/subtree.cpp
parentinitial implementation of XML::Subtree API for tracking changes on a (diff)
downloadinkscape-cf293d81a6c979f0266a86f5f8494551ac9c62b9.tar.gz
inkscape-cf293d81a6c979f0266a86f5f8494551ac9c62b9.zip
was trying to have my cake and eat it too, memory-management-wise ... for
now, manual management for Subtree (bzr r3159)
Diffstat (limited to 'src/xml/subtree.cpp')
-rw-r--r--src/xml/subtree.cpp17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/xml/subtree.cpp b/src/xml/subtree.cpp
index 7c549e7d7..f19bf055a 100644
--- a/src/xml/subtree.cpp
+++ b/src/xml/subtree.cpp
@@ -32,25 +32,16 @@ void recursively(void (Node::*m)(NodeObserver &observer),
}
-Subtree::Subtree(Node &root) : _root(&root) {
- recursively(&Node::addObserver, *_root, *this);
+Subtree::Subtree(Node &root) : _root(root) {
+ recursively(&Node::addObserver, _root, *this);
}
Subtree::~Subtree() {
- finish();
-}
-
-void Subtree::finish() {
- if (_root) {
- recursively(&Node::removeObserver, *_root, *this);
- _root = NULL;
- }
+ recursively(&Node::removeObserver, _root, *this);
}
void Subtree::synthesizeEvents(NodeObserver &observer) {
- if (_root) {
- recursively(&Node::synthesizeEvents, *_root, *this);
- }
+ recursively(&Node::synthesizeEvents, _root, *this);
}
void Subtree::addObserver(NodeObserver &observer) {