12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- commit 00f84e4cb1efc02149d9c04df79048c04351e46a
- Author: CYBERDEViL <cyberdevil@notabug.org>
- Date: Sun Dec 17 01:13:47 2023 +0100
- python3.7: "Cleanup: remove deprecated PyEval_InitThreads use"
-
- Fully applied Blender upstream ref: d377b1fe762c24ee74805ea8c1f666f121399698
- commit a6323887a2db1acd10bd0fd1539fb8c061efc7f3
- Author: CYBERDEViL <cyberdevil@notabug.org>
- Date: Sat Dec 16 17:51:18 2023 +0100
- python3.7: "Fix PyRNA class registration w/ Python 3.7"
-
- Fully applied Blender upstream ref: 1db47a2ccd1e68994bf8140eba6cc2a26a2bc91f
- diff --git a/blender-2.79b/source/blender/python/intern/bpy_interface.c b/blender-2.79b/source/blender/python/intern/bpy_interface.c
- index 20cfd36..6077418 100644
- --- a/blender-2.79b/source/blender/python/intern/bpy_interface.c
- +++ b/blender-2.79b/source/blender/python/intern/bpy_interface.c
- @@ -268,6 +268,7 @@ void BPY_python_start(int argc, const char **argv)
-
- Py_FrozenFlag = 1;
-
- + /* Initialize Python (also acquires lock). */
- Py_Initialize();
-
- // PySys_SetArgv(argc, argv); /* broken in py3, not a huge deal */
- @@ -284,9 +285,7 @@ void BPY_python_start(int argc, const char **argv)
- PySys_SetObject("argv", py_argv);
- Py_DECREF(py_argv);
- }
- -
- - /* Initialize thread support (also acquires lock) */
- - PyEval_InitThreads();
- +
- #else
- (void)argc;
- (void)argv;
- diff --git a/blender-2.79b/source/blender/python/intern/bpy_rna.c b/blender-2.79b/source/blender/python/intern/bpy_rna.c
- index 0d3781c..832a872 100644
- --- a/blender-2.79b/source/blender/python/intern/bpy_rna.c
- +++ b/blender-2.79b/source/blender/python/intern/bpy_rna.c
- @@ -7385,10 +7385,12 @@ static int bpy_class_validate_recursive(PointerRNA *dummyptr, StructRNA *srna, v
- if (!(flag & PROP_REGISTER))
- continue;
-
- + /* TODO(campbell): Use Python3.7x _PyObject_LookupAttr(), also in the macro below. */
- identifier = RNA_property_identifier(prop);
- item = PyObject_GetAttrString(py_class, identifier);
-
- if (item == NULL) {
- + PyErr_Clear();
- /* Sneaky workaround to use the class name as the bl_idname */
-
- #define BPY_REPLACEMENT_STRING(rna_attr, py_attr) \
- @@ -7404,6 +7406,9 @@ static int bpy_class_validate_recursive(PointerRNA *dummyptr, StructRNA *srna, v
- } \
- Py_DECREF(item); \
- } \
- + else { \
- + PyErr_Clear(); \
- + } \
- } /* intentionally allow else here */
-
- if (false) {} /* needed for macro */
|