Python: Fix to support old-style handlers
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 11 Sep 2019 13:52:07 +0000 (15:52 +0200)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 11 Sep 2019 13:53:36 +0000 (15:53 +0200)
Can not re-use single typle even if there is a single input pointer:
the all-arguments-typle consists of 2 elements.

source/blender/python/intern/bpy_app_handlers.c

index e6a8febbf29e2c1cf3116e24e0a05c62dea6fa01..2fbefe3be745b39047571deddfe008e50633b4f5 100644 (file)
@@ -333,9 +333,6 @@ void bpy_app_generic_callback(struct Main *UNUSED(main),
     if (num_pointers == 0) {
       PyTuple_SET_ITEM(args_single, 0, Py_INCREF_RET(Py_None));
     }
-    else if (num_pointers == 1) {
-      args_single = args_all;
-    }
     else {
       PyTuple_SET_ITEM(args_single, 0, pyrna_struct_CreatePyObject(pointers[0]));
     }
@@ -362,9 +359,7 @@ void bpy_app_generic_callback(struct Main *UNUSED(main),
     }
 
     Py_DECREF(args_all);
-    if (args_single != args_all) {
-      Py_DECREF(args_single);
-    }
+    Py_DECREF(args_single);
 
     PyGILState_Release(gilstate);
   }