Commit: 206b67b31a311867bd222477bfa28c0c73ff9dbb
Author: Campbell Barton
Date:   Tue Oct 20 01:56:56 2015 +1100
Branches: framebuffer
https://developer.blender.org/rB206b67b31a311867bd222477bfa28c0c73ff9dbb

Remove redundant args to PyExc_Format

Also make error handling more compact.
and don't overwrite errors from PyC_RNA_AsPointer.

===================================================================

M       source/blender/python/intern/gpu_offscreen.c

===================================================================

diff --git a/source/blender/python/intern/gpu_offscreen.c 
b/source/blender/python/intern/gpu_offscreen.c
index 7fb0bda..b7e532f 100644
--- a/source/blender/python/intern/gpu_offscreen.c
+++ b/source/blender/python/intern/gpu_offscreen.c
@@ -69,7 +69,7 @@ static int bpy_gpu_offscreen_valid_check(PyGPUOffScreen 
*py_gpu_ofs, const char
        if (UNLIKELY(py_gpu_ofs->ofs == NULL)) {
                PyErr_Format(PyExc_ReferenceError,
                             "%.200s: GPU offscreen was freed, no further 
access is valid",
-                            error_prefix, Py_TYPE(py_gpu_ofs)->tp_name);
+                            error_prefix);
                return -1;
        }
        return 0;
@@ -174,7 +174,7 @@ static int pygpu_offscreen_check_matrix(PyObject *o, void 
*p)
 
        if (!MatrixObject_Check(pymat)) {
                PyErr_Format(PyExc_TypeError,
-                            "matrix is not in a valid format (e.g., 
mathutils.Matrix)",
+                            "expected a mathutils.Matrix, not a %.200s",
                             Py_TYPE(o)->tp_name);
                return 0;
        }
@@ -186,9 +186,7 @@ static int pygpu_offscreen_check_matrix(PyObject *o, void 
*p)
        if ((pymat->num_col != 4) ||
            (pymat->num_row != 4))
        {
-               PyErr_Format(PyExc_TypeError,
-                            "matrix must have 4 rows and 4 columns",
-                            Py_TYPE(o)->tp_name);
+               PyErr_SetString(PyExc_ValueError, "matrix must be 4x4");
                return 0;
        }
 
@@ -225,29 +223,14 @@ static PyObject 
*pygpu_offscreen_draw_view3d(PyGPUOffScreen *self, PyObject *arg
                args, kwds, "OOOO&O&:draw_view3d", (char **)(kwlist),
                &py_scene, &py_region, &py_view3d,
                pygpu_offscreen_check_matrix, &py_mat_projection,
-               pygpu_offscreen_check_matrix, &py_mat_modelview))
+               pygpu_offscreen_check_matrix, &py_mat_modelview) ||
+           (!(scene    = PyC_RNA_AsPointer(py_scene, "Scene")) ||
+            !(ar       = PyC_RNA_AsPointer(py_region, "ARegion")) ||
+            !(v3d      = PyC_RNA_AsPointer(py_view3d, "View3D"))))
        {
                return NULL;
        }
 
-       scene = (Scene *)PyC_RNA_AsPointer(py_scene, "Scene");
-       if (scene == NULL) {
-               PyErr_SetString(PyExc_SystemError, "draw_view3d: No valid 
scene");
-               return NULL;
-       }
-
-       ar = (ARegion *)PyC_RNA_AsPointer(py_region, "ARegion");
-       if (ar == NULL) {
-               PyErr_SetString(PyExc_SystemError, "draw_view3d: No valid 
region");
-               return NULL;
-       }
-
-       v3d = (View3D *)PyC_RNA_AsPointer(py_view3d, "View3D");
-       if (v3d == NULL) {
-               PyErr_SetString(PyExc_SystemError, "draw_view3d: No valid 3d 
view");
-               return NULL;
-       }
-
        fx = GPU_fx_compositor_create();
 
        fx_settings = v3d->fx_settings;  /* full copy */
@@ -419,7 +402,7 @@ static PyObject *pygpu_offscreen_new(PyObject 
*UNUSED(self), PyObject *args, PyO
        ofs = GPU_offscreen_create(width, height, samples, err_out);
 
        if (ofs == NULL) {
-               PyErr_Format(PyExc_Exception,
+               PyErr_Format(PyExc_RuntimeError,
                             "gpu.offscreen.new(...) failed with '%s'",
                             err_out[0] ? err_out : "unknown error");
                return NULL;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to