summaryrefslogtreecommitdiffstats
path: root/src/xml/subtree.cpp
diff options
context:
space:
mode:
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) {