diff options
author | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2010-04-08 15:40:17 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2010-04-08 15:40:17 +0000 |
commit | 832ecb9ce34fbb44ab72c8bc2408e436ba541d20 (patch) | |
tree | e6e79377ef0e2b9a6490c2aeb40dd98d0f026b4c /css/css.c | |
parent | 3b5dbecaf44d302b95ebddc901b3382eb8e134e5 (diff) | |
download | netsurf-832ecb9ce34fbb44ab72c8bc2408e436ba541d20.tar.gz netsurf-832ecb9ce34fbb44ab72c8bc2408e436ba541d20.tar.bz2 |
Allow nscss to retain charset and nscss_clone to use it
svn path=/trunk/netsurf/; revision=10318
Diffstat (limited to 'css/css.c')
-rw-r--r-- | css/css.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -96,6 +96,8 @@ nserror nscss_create_css_data(struct content_css_data *c, c->import_count = 0; c->imports = NULL; + if (charset != NULL) + c->charset = strdup(charset); error = css_stylesheet_create(CSS_LEVEL_21, charset, url, NULL, quirks, false, @@ -328,6 +330,8 @@ void nscss_destroy_css_data(struct content_css_data *c) css_stylesheet_destroy(c->sheet); c->sheet = NULL; } + + free(c->charset); } bool nscss_clone(const struct content *old, struct content *new_content) @@ -336,10 +340,9 @@ bool nscss_clone(const struct content *old, struct content *new_content) unsigned long size; /* Simply replay create/process/convert */ - /** \todo We need the charset of the old sheet */ if (nscss_create_css_data(&new_content->data.css, content__get_url(new_content), - NULL, new_content->quirks) != NSERROR_OK) + old->data.css.charset, new_content->quirks) != NSERROR_OK) return false; data = content__get_source_data(new_content, &size); |