summaryrefslogtreecommitdiff
path: root/css/css.c
diff options
context:
space:
mode:
Diffstat (limited to 'css/css.c')
-rw-r--r--css/css.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/css/css.c b/css/css.c
index b8c5db955..4d5e5a7d2 100644
--- a/css/css.c
+++ b/css/css.c
@@ -434,14 +434,21 @@ css_error nscss_import_complete(struct content_css_data *c,
struct content *s = hlcache_handle_get_content(import);
sheet = s->data.css.sheet;
} else {
- error = css_stylesheet_create(CSS_LEVEL_DEFAULT,
- NULL, "", NULL, false, false,
- myrealloc, NULL,
- nscss_resolve_url, NULL,
- &sheet);
- if (error != CSS_OK) {
- return error;
+ static css_stylesheet *blank_import;
+
+ /* Create a blank sheet if needed. */
+ if (blank_import == NULL) {
+ error = css_stylesheet_create(CSS_LEVEL_DEFAULT,
+ NULL, "", NULL, false, false,
+ myrealloc, NULL,
+ nscss_resolve_url, NULL,
+ &blank_import);
+ if (error != CSS_OK) {
+ return error;
+ }
}
+
+ sheet = blank_import;
}
error = css_stylesheet_register_import(c->sheet, sheet);