diff options
author | John-Mark Bell <jmb@netsurf-browser.org> | 2017-02-04 11:51:30 +0000 |
---|---|---|
committer | Michael Drake <michael.drake@codethink.co.uk> | 2019-03-10 13:42:03 +0000 |
commit | dc5dc8aaba115bb678be2a5a59a6054027bf28c1 (patch) | |
tree | 263083ab7c908bef27f85b1015c1bc8e9ce2cffd /src/parse/language.c | |
parent | f8c906e4c6ff36cefe0803cba6b2a083efe5bcb6 (diff) | |
download | libcss-dc5dc8aaba115bb678be2a5a59a6054027bf28c1.tar.gz libcss-dc5dc8aaba115bb678be2a5a59a6054027bf28c1.tar.bz2 |
Media Queries: sort out object lifetimes
Diffstat (limited to 'src/parse/language.c')
-rw-r--r-- | src/parse/language.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/src/parse/language.c b/src/parse/language.c index a5f57d3..c3b523d 100644 --- a/src/parse/language.c +++ b/src/parse/language.c @@ -416,8 +416,7 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector) lwc_string *url; css_mq_query *media = NULL; - /* any0 = (STRING | URI) ws - * (media query)? */ + /* any0 = (STRING | URI) ws (media query)? */ const css_token *uri = parserutils_vector_iterate(vector, &ctx); if (uri == NULL || (uri->type != CSS_TOKEN_STRING && @@ -435,7 +434,7 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector) error = css__stylesheet_rule_create(c->sheet, CSS_RULE_IMPORT, &rule); if (error != CSS_OK) { - css__mq_query_unref(media); + css__mq_query_destroy(media); return error; } @@ -444,8 +443,8 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector) c->sheet->url, uri->idata, &url); if (error != CSS_OK) { - css__mq_query_unref(media); css__stylesheet_rule_destroy(c->sheet, rule); + css__mq_query_destroy(media); return error; } @@ -454,8 +453,8 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector) rule, url, media); if (error != CSS_OK) { lwc_string_unref(url); - css__mq_query_unref(media); css__stylesheet_rule_destroy(c->sheet, rule); + css__mq_query_destroy(media); return error; } @@ -465,16 +464,14 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector) c->sheet, url); if (error != CSS_OK) { lwc_string_unref(url); - css__mq_query_unref(media); css__stylesheet_rule_destroy(c->sheet, rule); return error; } } - /* No longer care about url or media */ + /* No longer care about url */ lwc_string_unref(url); - css__mq_query_unref(media); /* Add rule to sheet */ error = css__stylesheet_add_rule(c->sheet, rule, NULL); @@ -542,26 +539,23 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector) error = css__stylesheet_rule_create(c->sheet, CSS_RULE_MEDIA, &rule); if (error != CSS_OK) { - css__mq_query_unref(media); + css__mq_query_destroy(media); return error; } error = css__stylesheet_rule_set_media(c->sheet, rule, media); if (error != CSS_OK) { css__stylesheet_rule_destroy(c->sheet, rule); - css__mq_query_unref(media); + css__mq_query_destroy(media); return error; } error = css__stylesheet_add_rule(c->sheet, rule, NULL); if (error != CSS_OK) { css__stylesheet_rule_destroy(c->sheet, rule); - css__mq_query_unref(media); return error; } - css__mq_query_unref(media); - /* Rule is now owned by the sheet, * so no need to destroy it */ |