Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-01-17 07:43:00 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-01-17 07:43:34 +0300
commit4a3aac478ce0dd16faea52d224d9a8024cd9ee57 (patch)
tree5df4a6b98175bfb31c0aeb5d6e24e8c4c4139fa2 /source/blender/editors/interface/interface_eyedropper_datablock.c
parent3648b3f9165a096cf4204bb9ad082e62cc714c90 (diff)
Cleanup: logic for eyedropper free on failure
Although currently unused, if exec was called and failed it would leak.
Diffstat (limited to 'source/blender/editors/interface/interface_eyedropper_datablock.c')
-rw-r--r--source/blender/editors/interface/interface_eyedropper_datablock.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/editors/interface/interface_eyedropper_datablock.c b/source/blender/editors/interface/interface_eyedropper_datablock.c
index 33d69524b77..f39c8bdf889 100644
--- a/source/blender/editors/interface/interface_eyedropper_datablock.c
+++ b/source/blender/editors/interface/interface_eyedropper_datablock.c
@@ -86,7 +86,6 @@ static void datadropper_draw_cb(const struct bContext *C, ARegion *ar, void *arg
static int datadropper_init(bContext *C, wmOperator *op)
{
- DataDropper *ddr;
int index_dummy;
StructRNA *type;
@@ -96,7 +95,7 @@ static int datadropper_init(bContext *C, wmOperator *op)
st = BKE_spacetype_from_id(SPACE_VIEW3D);
art = BKE_regiontype_from_id(st, RGN_TYPE_WINDOW);
- op->customdata = ddr = MEM_callocN(sizeof(DataDropper), "DataDropper");
+ DataDropper *ddr = MEM_callocN(sizeof(DataDropper), __func__);
UI_context_active_but_prop_get(C, &ddr->ptr, &ddr->prop, &index_dummy);
@@ -105,8 +104,10 @@ static int datadropper_init(bContext *C, wmOperator *op)
(RNA_property_editable(&ddr->ptr, ddr->prop) == false) ||
(RNA_property_type(ddr->prop) != PROP_POINTER))
{
+ MEM_freeN(ddr);
return false;
}
+ op->customdata = ddr;
ddr->art = art;
ddr->draw_handle_pixel = ED_region_draw_cb_activate(art, datadropper_draw_cb, ddr, REGION_DRAW_POST_PIXEL);
@@ -289,7 +290,6 @@ static int datadropper_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED
return OPERATOR_RUNNING_MODAL;
}
else {
- datadropper_exit(C, op);
return OPERATOR_CANCELLED;
}
}