diff --git a/src/document/html/parser/forms.c b/src/document/html/parser/forms.c index d35d9ca2a..a2c7bc1a2 100644 --- a/src/document/html/parser/forms.c +++ b/src/document/html/parser/forms.c @@ -146,7 +146,8 @@ html_button(struct html_context *html_context, unsigned char *a, unsigned char *al; struct form_control *fc; enum form_type type = FC_SUBMIT; - int cp = html_context->part->document->cp; + int cp = (html_context->part && html_context->part->document) ? + html_context->part->document->cp : html_context->options->cp; html_focusable(html_context, a); @@ -266,7 +267,8 @@ html_input(struct html_context *html_context, unsigned char *a, { unsigned char *al; struct form_control *fc; - int cp = html_context->part->document->cp; + int cp = (html_context->part && html_context->part->document) ? + html_context->part->document->cp : html_context->options->cp; fc = init_form_control(FC_TEXT, a, html_context); if (!fc) return; diff --git a/src/document/html/parser/link.c b/src/document/html/parser/link.c index 232e17bb4..2cecdf830 100644 --- a/src/document/html/parser/link.c +++ b/src/document/html/parser/link.c @@ -215,7 +215,8 @@ html_img_do(unsigned char *a, unsigned char *object_src, unsigned char *usemap_attr; struct document_options *options = html_context->options; int display_style = options->image_link.display_style; - int cp = html_context->part->document->cp; + int cp = (html_context->part && html_context->part->document) ? + html_context->part->document->cp : html_context->options->cp; /* Note about display_style: * 0 means always display IMG