diff options
-rw-r--r-- | css/css.c | 3 | ||||
-rw-r--r-- | riscos/gui.c | 24 |
2 files changed, 18 insertions, 9 deletions
@@ -141,7 +141,6 @@ int css_convert(struct content *c, unsigned int width, unsigned int height) } } css__delete_buffer(buffer, c->data.css.css->lexer); - free(c->data.css.data); css_parser_(c->data.css.css->parser, 0, 0, ¶m); css_parser_Free(c->data.css.css->parser, free); @@ -200,6 +199,8 @@ void css_destroy(struct content *c) unsigned int i; struct css_node *r; + xfree(c->data.css.data); + for (i = 0; i != HASH_SIZE; i++) { for (r = c->data.css.css->rule[i]; r != 0; r = r->next) xfree(r->style); diff --git a/riscos/gui.c b/riscos/gui.c index 8f225b540..068512fc9 100644 --- a/riscos/gui.c +++ b/riscos/gui.c @@ -966,15 +966,23 @@ void ro_gui_open_help_page (void) */ void ro_gui_view_source(struct content *content) { - if (content->type != CONTENT_HTML) - return; - xosfile_save_stamped("<Wimp$Scrap>", 0xfff, - content->data.html.source, - (content->data.html.source + - content->data.html.length)); - xos_cli("Filer_Run <Wimp$Scrap>"); - xosfile_set_type("<Wimp$Scrap>", 0xfaf); + if (content->type == CONTENT_HTML) { + xosfile_save_stamped("<Wimp$Scrap>", 0xfff, + content->data.html.source, + (content->data.html.source + + content->data.html.length)); + xos_cli("Filer_Run <Wimp$Scrap>"); + xosfile_set_type("<Wimp$Scrap>", 0xfaf); + } + else if (content->type == CONTENT_CSS) { + xosfile_save_stamped("<Wimp$Scrap>", 0xfff, + content->data.css.data, + (content->data.css.data + + content->data.css.length)); + xos_cli("Filer_Run <Wimp$Scrap>"); + xosfile_set_type("<Wimp$Scrap>", 0xf79); + } } |