diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2008-09-18 21:55:51 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2008-09-18 21:55:51 +0000 |
commit | 79e5d74377af803222fb9c84bd97d624aafec39b (patch) | |
tree | bcdefdff2fe62145e46e626149c2ee19adb3aab1 | |
parent | d9ce39dc753fdac4ecf16efd2e92379fb07cfef6 (diff) | |
download | libhubbub-79e5d74377af803222fb9c84bd97d624aafec39b.tar.gz libhubbub-79e5d74377af803222fb9c84bd97d624aafec39b.tar.bz2 |
Ensure we unref collect node if it still exists when we come to destroy the treebuilder (this can occur if EOF is encountered when in generic_rcdata/script_collect modes).
Note that the spec has since changed here, so we'll need to resync, anyway.
This is simply to ensure the testsuite passes once more.
svn path=/trunk/hubbub/; revision=5374
-rw-r--r-- | src/treebuilder/treebuilder.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/treebuilder/treebuilder.c b/src/treebuilder/treebuilder.c index f926d9e..3ffe99f 100644 --- a/src/treebuilder/treebuilder.c +++ b/src/treebuilder/treebuilder.c @@ -182,6 +182,12 @@ void hubbub_treebuilder_destroy(hubbub_treebuilder *treebuilder) treebuilder->context.document); } + if (treebuilder->context.collect.node != NULL) { + treebuilder->tree_handler->unref_node( + treebuilder->tree_handler->ctx, + treebuilder->context.collect.node); + } + for (uint32_t n = treebuilder->context.current_node; n > 0; n--) { treebuilder->tree_handler->unref_node( |