0

More specific rendermode error messages

This commit is contained in:
Andrew Chin
2011-11-22 12:25:02 -05:00
parent 9b36dfc237
commit 4739f4af93
2 changed files with 7 additions and 6 deletions

View File

@@ -373,7 +373,8 @@ chunk_render(PyObject *self, PyObject *args) {
state.rendermode = rendermode = render_mode_create(PyString_AsString(rendermode_py), &state); state.rendermode = rendermode = render_mode_create(PyString_AsString(rendermode_py), &state);
Py_DECREF(rendermode_py); Py_DECREF(rendermode_py);
if (rendermode == NULL) { 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 */ /* get the image size */

View File

@@ -124,23 +124,23 @@ RenderMode *render_mode_create(const char *mode, RenderState *state) {
iface = render_mode_find_interface(mode); iface = render_mode_find_interface(mode);
if (iface == NULL) if (iface == NULL)
return NULL; return PyErr_Format(PyExc_RuntimeError, "Failed to find rendermode interface");
options = render_mode_create_options(mode); options = render_mode_create_options(mode);
if (options == NULL) if (options == NULL)
return NULL; return PyErr_Format(PyExc_RuntimeError, "Failed to create rendermode options");
ret = calloc(1, sizeof(RenderMode)); ret = calloc(1, sizeof(RenderMode));
if (ret == NULL) { if (ret == NULL) {
Py_DECREF(options); Py_DECREF(options);
return NULL; return PyErr_Format(PyExc_RuntimeError, "Failed to alloc a rendermode");
} }
ret->mode = calloc(1, iface->data_size); ret->mode = calloc(1, iface->data_size);
if (ret->mode == NULL) { if (ret->mode == NULL) {
Py_DECREF(options); Py_DECREF(options);
free(ret); free(ret);
return NULL; return PyErr_Format(PyExc_RuntimeError, "Failed to alloc rendermode data");
} }
ret->iface = iface; ret->iface = iface;
@@ -150,7 +150,7 @@ RenderMode *render_mode_create(const char *mode, RenderState *state) {
Py_DECREF(options); Py_DECREF(options);
free(ret->mode); free(ret->mode);
free(ret); free(ret);
return NULL; return PyErr_Format(PyExc_RuntimeError, "Failed to start rendermode interface");
} }
Py_DECREF(options); Py_DECREF(options);