diff options
-rw-r--r-- | release/scripts/templates/operator_uv.py | 2 | ||||
-rw-r--r-- | source/blender/python/intern/bpy_interface.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/release/scripts/templates/operator_uv.py b/release/scripts/templates/operator_uv.py index 305496e31ce..e0cf8dd5db4 100644 --- a/release/scripts/templates/operator_uv.py +++ b/release/scripts/templates/operator_uv.py @@ -11,6 +11,8 @@ def main(context): if not mesh.uv_textures: uvtex = bpy.ops.mesh.uv_texture_add() + else: + uvtex = mesh.uv_textures.active # adjust UVs for i, uv in enumerate(uvtex.data): diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c index 7caf07a0973..3478edb3809 100644 --- a/source/blender/python/intern/bpy_interface.c +++ b/source/blender/python/intern/bpy_interface.c @@ -380,12 +380,14 @@ int BPY_run_python_script( bContext *C, const char *fn, struct Text *text, struc if(py_dict) { #ifdef PYMODULE_CLEAR_WORKAROUND PyObject *py_dict_back= PyDict_Copy(py_dict); + Py_INCREF(py_dict); #endif /* normal */ PyDict_SetItemString(PyThreadState_GET()->interp->modules, "__main__", Py_None); #ifdef PYMODULE_CLEAR_WORKAROUND PyDict_Clear(py_dict); PyDict_Update(py_dict, py_dict_back); + Py_DECREF(py_dict); Py_DECREF(py_dict_back); #endif #undef PYMODULE_CLEAR_WORKAROUND |