summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2012-11-05 18:17:27 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2012-11-05 18:19:14 +0000
commitd0cb1d4e66662b31c3354e20f9ac290153f9bd39 (patch)
tree356d67a9017ecab614b1557e0462f9126d09826a /render
parentf16d560f6ff9d0fd3a0dc06a8bf072f18507fbcd (diff)
downloadnetsurf-d0cb1d4e66662b31c3354e20f9ac290153f9bd39.tar.gz
netsurf-d0cb1d4e66662b31c3354e20f9ac290153f9bd39.tar.bz2
Don't abort redraw on bad image.
Diffstat (limited to 'render')
-rw-r--r--render/html_redraw.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/render/html_redraw.c b/render/html_redraw.c
index c9a163e61..77142c631 100644
--- a/render/html_redraw.c
+++ b/render/html_redraw.c
@@ -672,8 +672,24 @@ bool html_redraw_box(const html_content *html, struct box *box,
obj_data.y /= scale;
}
- if (!content_redraw(box->object, &obj_data, &r, ctx))
- return false;
+ if (!content_redraw(box->object, &obj_data, &r, ctx)) {
+ /* Show image fail */
+ if (!plot->rectangle(x + padding_left,
+ y + padding_top,
+ x + padding_left + width - 1,
+ y + padding_top + height - 1,
+ plot_style_broken_object))
+ return false;
+ /* Show Unicode (U+FFFC) 'OBJECT REPLACEMENT CHARACTER'
+ */
+ if (!plot->text(x + padding_left,
+ y + padding_top + (int)
+ (height * 0.75 * scale),
+ "\xef\xbf\xbc", 3,
+ plot_fstyle_broken_object))
+ return false;
+ }
+
} else if (box->iframe) {
/* Offset is passed to browser window redraw unscaled */