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
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user