Fix memory leak with Python RNA property get callback errors
Failure to return a list of the expected size & type wasn't decrementing the value, leaking a reference. Caused by127b5423d6a workaround for the real error that was fixedf5e020a7a6.
This commit is contained in:
		| @@ -726,12 +726,8 @@ static void bpy_prop_boolean_array_get_fn(struct PointerRNA *ptr, | |||||||
|       for (i = 0; i < len; i++) { |       for (i = 0; i < len; i++) { | ||||||
|         values[i] = false; |         values[i] = false; | ||||||
|       } |       } | ||||||
|  |  | ||||||
|       /* PyC_AsArray decrements refcount internally on error */ |  | ||||||
|     } |  | ||||||
|     else { |  | ||||||
|       Py_DECREF(ret); |  | ||||||
|     } |     } | ||||||
|  |     Py_DECREF(ret); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   if (use_gil) { |   if (use_gil) { | ||||||
| @@ -977,12 +973,8 @@ static void bpy_prop_int_array_get_fn(struct PointerRNA *ptr, | |||||||
|       for (i = 0; i < len; i++) { |       for (i = 0; i < len; i++) { | ||||||
|         values[i] = 0; |         values[i] = 0; | ||||||
|       } |       } | ||||||
|  |  | ||||||
|       /* PyC_AsArray decrements refcount internally on error */ |  | ||||||
|     } |  | ||||||
|     else { |  | ||||||
|       Py_DECREF(ret); |  | ||||||
|     } |     } | ||||||
|  |     Py_DECREF(ret); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   if (use_gil) { |   if (use_gil) { | ||||||
| @@ -1228,12 +1220,8 @@ static void bpy_prop_float_array_get_fn(struct PointerRNA *ptr, | |||||||
|       for (i = 0; i < len; i++) { |       for (i = 0; i < len; i++) { | ||||||
|         values[i] = 0.0f; |         values[i] = 0.0f; | ||||||
|       } |       } | ||||||
|  |  | ||||||
|       /* PyC_AsArray decrements refcount internally on error */ |  | ||||||
|     } |  | ||||||
|     else { |  | ||||||
|       Py_DECREF(ret); |  | ||||||
|     } |     } | ||||||
|  |     Py_DECREF(ret); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   if (use_gil) { |   if (use_gil) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user