summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2017-08-28 10:21:11 +0100
committerMichael Drake <michael.drake@codethink.co.uk>2017-08-28 10:21:11 +0100
commit9e64f37846f80413cc94bf40effec8eecdeb7cf6 (patch)
tree43388f1dc07b4701fab54048bc81e2cefa1ef329
parentcae1c44f8fe61a4df20f000d0b57ac78e5527170 (diff)
downloadnetsurf-9e64f37846f80413cc94bf40effec8eecdeb7cf6.tar.gz
netsurf-9e64f37846f80413cc94bf40effec8eecdeb7cf6.tar.bz2
RSVG content handler: Convert to using content_broadcast_errorcode().
-rw-r--r--content/handlers/image/rsvg.c21
-rw-r--r--utils/errors.h2
2 files changed, 8 insertions, 15 deletions
diff --git a/content/handlers/image/rsvg.c b/content/handlers/image/rsvg.c
index 24819df57..d45a968e5 100644
--- a/content/handlers/image/rsvg.c
+++ b/content/handlers/image/rsvg.c
@@ -62,8 +62,6 @@ typedef struct rsvg_content {
static nserror rsvg_create_svg_data(rsvg_content *c)
{
- union content_msg_data msg_data;
-
c->rsvgh = NULL;
c->cs = NULL;
c->ct = NULL;
@@ -71,8 +69,7 @@ static nserror rsvg_create_svg_data(rsvg_content *c)
if ((c->rsvgh = rsvg_handle_new()) == NULL) {
LOG("rsvg_handle_new() returned NULL.");
- msg_data.error = messages_get("NoMemory");
- content_broadcast(&c->base, CONTENT_MSG_ERROR, &msg_data);
+ content_broadcast_errorcode(&c->base, NSERROR_NOMEM);
return NSERROR_NOMEM;
}
@@ -115,14 +112,12 @@ static bool rsvg_process_data(struct content *c, const char *data,
unsigned int size)
{
rsvg_content *d = (rsvg_content *) c;
- union content_msg_data msg_data;
GError *err = NULL;
if (rsvg_handle_write(d->rsvgh, (const guchar *)data, (gsize)size,
&err) == FALSE) {
LOG("rsvg_handle_write returned an error: %s", err->message);
- msg_data.error = err->message;
- content_broadcast(c, CONTENT_MSG_ERROR, &msg_data);
+ content_broadcast_errorcode(c, NSERROR_SVG_ERROR);
return false;
}
@@ -161,14 +156,12 @@ static inline void rsvg_argb_to_abgr(uint8_t *pixels,
static bool rsvg_convert(struct content *c)
{
rsvg_content *d = (rsvg_content *) c;
- union content_msg_data msg_data;
RsvgDimensionData rsvgsize;
GError *err = NULL;
if (rsvg_handle_close(d->rsvgh, &err) == FALSE) {
LOG("rsvg_handle_close returned an error: %s", err->message);
- msg_data.error = err->message;
- content_broadcast(c, CONTENT_MSG_ERROR, &msg_data);
+ content_broadcast_errorcode(c, NSERROR_SVG_ERROR);
return false;
}
@@ -186,7 +179,7 @@ static bool rsvg_convert(struct content *c)
BITMAP_NEW)) == NULL) {
LOG("Failed to create bitmap for rsvg render.");
msg_data.error = messages_get("NoMemory");
- content_broadcast(c, CONTENT_MSG_ERROR, &msg_data);
+ content_broadcast_errorcode(c, NSERROR_NOMEM);
return false;
}
@@ -196,15 +189,13 @@ static bool rsvg_convert(struct content *c)
c->width, c->height,
guit->bitmap->get_rowstride(d->bitmap))) == NULL) {
LOG("Failed to create Cairo image surface for rsvg render.");
- msg_data.error = messages_get("NoMemory");
- content_broadcast(c, CONTENT_MSG_ERROR, &msg_data);
+ content_broadcast_errorcode(c, NSERROR_NOMEM);
return false;
}
if ((d->ct = cairo_create(d->cs)) == NULL) {
LOG("Failed to create Cairo drawing context for rsvg render.");
- msg_data.error = messages_get("NoMemory");
- content_broadcast(c, CONTENT_MSG_ERROR, &msg_data);
+ content_broadcast_errorcode(c, NSERROR_NOMEM);
return false;
}
diff --git a/utils/errors.h b/utils/errors.h
index 3ab40b2f4..cce8d6e90 100644
--- a/utils/errors.h
+++ b/utils/errors.h
@@ -55,6 +55,8 @@ typedef enum {
NSERROR_PNG_ERROR, /**< A PNG error occurred */
+ NSERROR_SVG_ERROR, /**< A SVG error occurred */
+
NSERROR_BAD_ENCODING, /**< The character set is unknown */
NSERROR_NEED_DATA, /**< More data needed */