Gitweb links:
...log
http://git.netsurf-browser.org/libdom.git/shortlog/9bb1399bac063e4daac119fc636147cbab066c9d
...commit
http://git.netsurf-browser.org/libdom.git/commit/9bb1399bac063e4daac119fc636147cbab066c9d
...tree
http://git.netsurf-browser.org/libdom.git/tree/9bb1399bac063e4daac119fc636147cbab066c9d
The branch, master has been updated
via 9bb1399bac063e4daac119fc636147cbab066c9d (commit)
from e437bb9126df49de815a06ff86edf4d6c4d252ac (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/libdom.git/commit/?id=9bb1399bac063e4daac119fc636147cbab066c9d
commit 9bb1399bac063e4daac119fc636147cbab066c9d
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>
Fix libdom departures from "always return a ref" in public API.
The DOM test code expects nodes returned by libdom APIs to always be
reffed. So this change refs them.
The remaining leaks detected by address sanitiser in the dom test
suite are a problem with the DOM test generator:
* For test_level1_html_HTMLSelectElement08, the problem is that in the
while loop, it doesn't unref `voption` at the end of the loop, in the
test code.
* For test_level1_html_HTMLTableElement07, the problem is the
while loop doesn't unref `vrow` at the end of the loop in the
test code.
* For test_level1_html_HTMLTableElement09, it's the same for
variable, `vbodies`.
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 9f53295..50a15a7 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -1144,7 +1144,6 @@ dom_exception
_dom_html_document_get_body(dom_html_document *doc,
}
*body = (dom_html_element *)node;
- dom_node_unref(node);
}
return exc;
diff --git a/src/html/html_fieldset_element.c b/src/html/html_fieldset_element.c
index c869822..fe44e74 100644
--- a/src/html/html_fieldset_element.c
+++ b/src/html/html_fieldset_element.c
@@ -170,7 +170,7 @@ dom_exception dom_html_field_set_element_get_form(
}
if (form_tmp != NULL) {
- *form = (dom_html_form_element *) form_tmp;
+ *form = (dom_html_form_element *) dom_node_ref(form_tmp);
return DOM_NO_ERR;
}
diff --git a/src/html/html_label_element.c b/src/html/html_label_element.c
index 3864cc4..777144a 100644
--- a/src/html/html_label_element.c
+++ b/src/html/html_label_element.c
@@ -167,7 +167,7 @@ dom_exception dom_html_label_element_get_form(
}
if (form_tmp != NULL) {
- *form = (dom_html_form_element *) form_tmp;
+ *form = (dom_html_form_element *) dom_node_ref(form_tmp);
return DOM_NO_ERR;
}
diff --git a/src/html/html_object_element.c b/src/html/html_object_element.c
index e926aef..b51e3a0 100644
--- a/src/html/html_object_element.c
+++ b/src/html/html_object_element.c
@@ -274,7 +274,7 @@ dom_exception dom_html_object_element_get_form(
}
if (form_tmp != NULL) {
- *form = (dom_html_form_element *) form_tmp;
+ *form = (dom_html_form_element *) dom_node_ref(form_tmp);
return DOM_NO_ERR;
}
-----------------------------------------------------------------------
Summary of changes:
src/html/html_document.c | 1 -
src/html/html_fieldset_element.c | 2 +-
src/html/html_label_element.c | 2 +-
src/html/html_object_element.c | 2 +-
4 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 9f53295..50a15a7 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -1144,7 +1144,6 @@ dom_exception
_dom_html_document_get_body(dom_html_document *doc,
}
*body = (dom_html_element *)node;
- dom_node_unref(node);
}
return exc;
diff --git a/src/html/html_fieldset_element.c b/src/html/html_fieldset_element.c
index c869822..fe44e74 100644
--- a/src/html/html_fieldset_element.c
+++ b/src/html/html_fieldset_element.c
@@ -170,7 +170,7 @@ dom_exception dom_html_field_set_element_get_form(
}
if (form_tmp != NULL) {
- *form = (dom_html_form_element *) form_tmp;
+ *form = (dom_html_form_element *) dom_node_ref(form_tmp);
return DOM_NO_ERR;
}
diff --git a/src/html/html_label_element.c b/src/html/html_label_element.c
index 3864cc4..777144a 100644
--- a/src/html/html_label_element.c
+++ b/src/html/html_label_element.c
@@ -167,7 +167,7 @@ dom_exception dom_html_label_element_get_form(
}
if (form_tmp != NULL) {
- *form = (dom_html_form_element *) form_tmp;
+ *form = (dom_html_form_element *) dom_node_ref(form_tmp);
return DOM_NO_ERR;
}
diff --git a/src/html/html_object_element.c b/src/html/html_object_element.c
index e926aef..b51e3a0 100644
--- a/src/html/html_object_element.c
+++ b/src/html/html_object_element.c
@@ -274,7 +274,7 @@ dom_exception dom_html_object_element_get_form(
}
if (form_tmp != NULL) {
- *form = (dom_html_form_element *) form_tmp;
+ *form = (dom_html_form_element *) dom_node_ref(form_tmp);
return DOM_NO_ERR;
}
--
Document Object Model library
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org