diff options
author | mano-wii <germano.costa@ig.com.br> | 2019-01-02 15:01:46 +0300 |
---|---|---|
committer | mano-wii <germano.costa@ig.com.br> | 2019-01-02 15:01:46 +0300 |
commit | 945007b32e9a30252216398413bff88c103d8667 (patch) | |
tree | d32f5249c0140696368582b7d17066b2e57e20d4 /source/blender/python/gpu/gpu_py_shader.c | |
parent | c862c14339e4c3ccf660153a5589ceb3561112d8 (diff) |
Fix T59773: Raise exception if the gpu module is used in backgound mode.
Instead of crashing, an error message is displayed if a function of the gpu module is called without a GPU context.
Reviewers: brecht, campbellbarton, JacquesLucke, mont29
Subscribers: abdelmatinboulbayam, amir.shehata
Differential Revision: https://developer.blender.org/D4143
Diffstat (limited to 'source/blender/python/gpu/gpu_py_shader.c')
-rw-r--r-- | source/blender/python/gpu/gpu_py_shader.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/python/gpu/gpu_py_shader.c b/source/blender/python/gpu/gpu_py_shader.c index 5f1ea7a33ce..3c50900c688 100644 --- a/source/blender/python/gpu/gpu_py_shader.c +++ b/source/blender/python/gpu/gpu_py_shader.c @@ -36,6 +36,7 @@ #include "../generic/python_utildefines.h" #include "../mathutils/mathutils.h" +#include "gpu_py.h" #include "gpu_py_shader.h" /* own include */ #include "gpu_py_vertex_format.h" @@ -117,7 +118,8 @@ static PyObject *bpygpu_shader_new(PyTypeObject *UNUSED(type), PyObject *args, P "libcode", "defines", NULL}; static _PyArg_Parser _parser = {"ss|$sss:GPUShader.__new__", _keywords, 0}; - if (!_PyArg_ParseTupleAndKeywordsFast( + if (!bpygpu_is_initialized() || + !_PyArg_ParseTupleAndKeywordsFast( args, kwds, &_parser, ¶ms.vertexcode, ¶ms.fragcode, ¶ms.geocode, ¶ms.libcode, ¶ms.defines)) @@ -717,7 +719,9 @@ static PyObject *bpygpu_shader_from_builtin(PyObject *UNUSED(self), PyObject *ar { GPUBuiltinShader shader_id; - if (!bpygpu_ParseBultinShaderEnum(arg, &shader_id)) { + if (!bpygpu_is_initialized() || + !bpygpu_ParseBultinShaderEnum(arg, &shader_id)) + { return NULL; } |