diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-10-04 05:10:23 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-10-04 05:10:23 +0400 |
commit | f9afdac2a356215e56bb210e975aae531c7c7f92 (patch) | |
tree | 6d41dd968b8a4721140ae97404664114f00e64f8 /source/blender/editors/transform/transform_manipulator.c | |
parent | 9e00a48511b9a57b321c8bbcdc38f41495a9fcd2 (diff) |
fix [#36942] unfreed memory on trackball widget use
Diffstat (limited to 'source/blender/editors/transform/transform_manipulator.c')
-rw-r--r-- | source/blender/editors/transform/transform_manipulator.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c index ee9bf486c20..f667a98812b 100644 --- a/source/blender/editors/transform/transform_manipulator.c +++ b/source/blender/editors/transform/transform_manipulator.c @@ -1858,11 +1858,12 @@ int BIF_do_manipulator(bContext *C, const struct wmEvent *event, wmOperator *op) * See [#34621], it's a miracle it did not cause more problems!!! */ /* However, we need to copy the "release_confirm" property... */ PointerRNA props_ptr; - WM_operator_properties_create(&props_ptr, "TRANSFORM_OT_trackball"); + wmOperatorType *ot = WM_operatortype_find("TRANSFORM_OT_trackball", true); + WM_operator_properties_create_ptr(&props_ptr, ot); RNA_boolean_set(&props_ptr, "release_confirm", RNA_boolean_get(op->ptr, "release_confirm")); - - WM_operator_name_call(C, "TRANSFORM_OT_trackball", WM_OP_INVOKE_DEFAULT, &props_ptr); - //wm_operator_invoke(C, WM_operatortype_find("TRANSFORM_OT_trackball", 0), event, NULL, NULL, FALSE); + WM_operator_name_call(C, ot->idname, WM_OP_INVOKE_DEFAULT, &props_ptr); + //wm_operator_invoke(C, WM_operatortype_find(ot->idname, 0), event, NULL, NULL, FALSE); + WM_operator_properties_free(&props_ptr); } else if (drawflags & MAN_ROT_C) { switch (drawflags) { |