diff --git a/mozilla/htmlparser/src/nsAVLTree.cpp b/mozilla/htmlparser/src/nsAVLTree.cpp
index 73bf59ce843..52c380d3611 100644
--- a/mozilla/htmlparser/src/nsAVLTree.cpp
+++ b/mozilla/htmlparser/src/nsAVLTree.cpp
@@ -59,6 +59,14 @@ nsAVLTree::nsAVLTree(nsAVLNodeComparitor& aComparitor,
}
+static void
+avlDeleteTree(nsAVLNode* aNode){
+ if (aNode) {
+ avlDeleteTree(aNode->mLeft);
+ avlDeleteTree(aNode->mRight);
+ delete aNode;
+ }
+}
/**
*
@@ -70,6 +78,7 @@ nsAVLTree::~nsAVLTree(){
if (mDeallocator) {
ForEachDepthFirst(*mDeallocator);
}
+ avlDeleteTree(mRoot);
}
diff --git a/mozilla/parser/htmlparser/src/nsAVLTree.cpp b/mozilla/parser/htmlparser/src/nsAVLTree.cpp
index 73bf59ce843..52c380d3611 100644
--- a/mozilla/parser/htmlparser/src/nsAVLTree.cpp
+++ b/mozilla/parser/htmlparser/src/nsAVLTree.cpp
@@ -59,6 +59,14 @@ nsAVLTree::nsAVLTree(nsAVLNodeComparitor& aComparitor,
}
+static void
+avlDeleteTree(nsAVLNode* aNode){
+ if (aNode) {
+ avlDeleteTree(aNode->mLeft);
+ avlDeleteTree(aNode->mRight);
+ delete aNode;
+ }
+}
/**
*
@@ -70,6 +78,7 @@ nsAVLTree::~nsAVLTree(){
if (mDeallocator) {
ForEachDepthFirst(*mDeallocator);
}
+ avlDeleteTree(mRoot);
}
diff --git a/mozilla/xpcom/ds/nsAVLTree.cpp b/mozilla/xpcom/ds/nsAVLTree.cpp
index 73bf59ce843..52c380d3611 100644
--- a/mozilla/xpcom/ds/nsAVLTree.cpp
+++ b/mozilla/xpcom/ds/nsAVLTree.cpp
@@ -59,6 +59,14 @@ nsAVLTree::nsAVLTree(nsAVLNodeComparitor& aComparitor,
}
+static void
+avlDeleteTree(nsAVLNode* aNode){
+ if (aNode) {
+ avlDeleteTree(aNode->mLeft);
+ avlDeleteTree(aNode->mRight);
+ delete aNode;
+ }
+}
/**
*
@@ -70,6 +78,7 @@ nsAVLTree::~nsAVLTree(){
if (mDeallocator) {
ForEachDepthFirst(*mDeallocator);
}
+ avlDeleteTree(mRoot);
}