From 4a3aac478ce0dd16faea52d224d9a8024cd9ee57 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 17 Jan 2019 15:43:00 +1100 Subject: Cleanup: logic for eyedropper free on failure Although currently unused, if exec was called and failed it would leak. --- source/blender/editors/interface/interface_eyedropper_driver.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'source/blender/editors/interface/interface_eyedropper_driver.c') diff --git a/source/blender/editors/interface/interface_eyedropper_driver.c b/source/blender/editors/interface/interface_eyedropper_driver.c index 93719527380..57d63bafc82 100644 --- a/source/blender/editors/interface/interface_eyedropper_driver.c +++ b/source/blender/editors/interface/interface_eyedropper_driver.c @@ -70,12 +70,9 @@ typedef struct DriverDropper { static bool driverdropper_init(bContext *C, wmOperator *op) { - DriverDropper *ddr; - uiBut *but; + DriverDropper *ddr = MEM_callocN(sizeof(DriverDropper), __func__); - op->customdata = ddr = MEM_callocN(sizeof(DriverDropper), "DriverDropper"); - - but = UI_context_active_but_prop_get(C, &ddr->ptr, &ddr->prop, &ddr->index); + uiBut *but = UI_context_active_but_prop_get(C, &ddr->ptr, &ddr->prop, &ddr->index); if ((ddr->ptr.data == NULL) || (ddr->prop == NULL) || @@ -83,8 +80,10 @@ static bool driverdropper_init(bContext *C, wmOperator *op) (RNA_property_animateable(&ddr->ptr, ddr->prop) == false) || (but->flag & UI_BUT_DRIVEN)) { + MEM_freeN(ddr); return false; } + op->customdata = ddr; return true; } @@ -185,7 +184,6 @@ static int driverdropper_invoke(bContext *C, wmOperator *op, const wmEvent *UNUS return OPERATOR_RUNNING_MODAL; } else { - driverdropper_exit(C, op); return OPERATOR_CANCELLED; } } -- cgit v1.2.3