summaryrefslogtreecommitdiff
path: root/src/parse/language.c
diff options
context:
space:
mode:
authorJohn-Mark Bell <jmb@netsurf-browser.org>2017-02-04 11:51:30 +0000
committerMichael Drake <michael.drake@codethink.co.uk>2019-03-10 13:42:03 +0000
commitdc5dc8aaba115bb678be2a5a59a6054027bf28c1 (patch)
tree263083ab7c908bef27f85b1015c1bc8e9ce2cffd /src/parse/language.c
parentf8c906e4c6ff36cefe0803cba6b2a083efe5bcb6 (diff)
downloadlibcss-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.c20
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 */