From 4739f4af93347ed0fb9c4cc0032129fc559bd08c Mon Sep 17 00:00:00 2001 From: Andrew Chin Date: Tue, 22 Nov 2011 12:25:02 -0500 Subject: [PATCH] More specific rendermode error messages --- overviewer_core/src/iterate.c | 3 ++- overviewer_core/src/rendermodes.c | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/overviewer_core/src/iterate.c b/overviewer_core/src/iterate.c index c6d8652..5b62941 100644 --- a/overviewer_core/src/iterate.c +++ b/overviewer_core/src/iterate.c @@ -373,7 +373,8 @@ chunk_render(PyObject *self, PyObject *args) { state.rendermode = rendermode = render_mode_create(PyString_AsString(rendermode_py), &state); Py_DECREF(rendermode_py); if (rendermode == NULL) { - return PyErr_Format(PyExc_ValueError, "Failed to create render mode"); + return NULL; // note that render_mode_create will + // set PyErr. No need to set it here } /* get the image size */ diff --git a/overviewer_core/src/rendermodes.c b/overviewer_core/src/rendermodes.c index dd0848f..ceaf9d4 100644 --- a/overviewer_core/src/rendermodes.c +++ b/overviewer_core/src/rendermodes.c @@ -124,23 +124,23 @@ RenderMode *render_mode_create(const char *mode, RenderState *state) { iface = render_mode_find_interface(mode); if (iface == NULL) - return NULL; + return PyErr_Format(PyExc_RuntimeError, "Failed to find rendermode interface"); options = render_mode_create_options(mode); if (options == NULL) - return NULL; + return PyErr_Format(PyExc_RuntimeError, "Failed to create rendermode options"); ret = calloc(1, sizeof(RenderMode)); if (ret == NULL) { Py_DECREF(options); - return NULL; + return PyErr_Format(PyExc_RuntimeError, "Failed to alloc a rendermode"); } ret->mode = calloc(1, iface->data_size); if (ret->mode == NULL) { Py_DECREF(options); free(ret); - return NULL; + return PyErr_Format(PyExc_RuntimeError, "Failed to alloc rendermode data"); } ret->iface = iface; @@ -150,7 +150,7 @@ RenderMode *render_mode_create(const char *mode, RenderState *state) { Py_DECREF(options); free(ret->mode); free(ret); - return NULL; + return PyErr_Format(PyExc_RuntimeError, "Failed to start rendermode interface"); } Py_DECREF(options);