From cf293d81a6c979f0266a86f5f8494551ac9c62b9 Mon Sep 17 00:00:00 2001 From: MenTaLguY Date: Sun, 1 Jul 2007 20:08:45 +0000 Subject: was trying to have my cake and eat it too, memory-management-wise ... for now, manual management for Subtree (bzr r3159) --- src/xml/subtree.cpp | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'src/xml/subtree.cpp') 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) { -- cgit v1.2.3