From 8d30613a7fa0f0a2088fb1007afed49435cdd39f Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Fri, 23 Dec 2005 01:03:39 +0100 Subject: [PATCH] The child node list can be NULL when matching for the :empty pseudo-class Also use the children node list and not the attribute list (aka the map). --- src/document/dom/select.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/document/dom/select.c b/src/document/dom/select.c index 1bbaed9d..c179e97a 100644 --- a/src/document/dom/select.c +++ b/src/document/dom/select.c @@ -714,6 +714,8 @@ match_attribute_selectors(struct dom_select_node *base, struct dom_node *node) static int match_element_selector(struct dom_select_node *selector, struct dom_node *node) { + assert(node && node->type == DOM_NODE_ELEMENT); + if (!has_element_match(selector, DOM_SELECT_ELEMENT_UNIVERSAL) && dom_node_casecmp(&selector->node, node)) return 0; @@ -748,7 +750,8 @@ match_element_selector(struct dom_select_node *selector, struct dom_node *node) } if (has_element_match(selector, DOM_SELECT_ELEMENT_EMPTY) - && node->data.element.map->size > 0) + && node->data.element.children + && node->data.element.children->size > 0) return 0; if (has_element_match(selector, DOM_SELECT_ELEMENT_NTH_CHILD)) {