From 6e5e5761fcf38583204f0f698528f3f4598007cf Mon Sep 17 00:00:00 2001 From: John-Mark Bell Date: Sat, 16 Mar 2013 01:00:06 +0000 Subject: Ensure a reference is taken on style nodes. --- render/html_css.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'render/html_css.c') diff --git a/render/html_css.c b/render/html_css.c index 3eabec419..e82533d38 100644 --- a/render/html_css.c +++ b/render/html_css.c @@ -172,6 +172,9 @@ nserror html_css_free_stylesheets(html_content *html) if (html->stylesheets[i].sheet != NULL) { hlcache_handle_release(html->stylesheets[i].sheet); } + if (html->stylesheets[i].node != NULL) { + dom_node_unref(html->stylesheets[i].node); + } } free(html->stylesheets); @@ -377,7 +380,7 @@ html_create_style_element(html_content *c, dom_node *style) } c->stylesheets = stylesheets; - c->stylesheets[c->stylesheet_count].node = style; + c->stylesheets[c->stylesheet_count].node = dom_node_ref(style); c->stylesheets[c->stylesheet_count].sheet = NULL; c->stylesheet_count++; @@ -508,6 +511,7 @@ bool html_css_process_link(html_content *htmlc, dom_node *node) } htmlc->stylesheets = stylesheets; + htmlc->stylesheets[htmlc->stylesheet_count].node = NULL; /* start fetch */ child.charset = htmlc->encoding; -- cgit v1.2.3