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_color.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_color.c')
-rw-r--r--source/blender/editors/interface/interface_eyedropper_color.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/editors/interface/interface_eyedropper_color.c b/source/blender/editors/interface/interface_eyedropper_color.c
index 141870905b3..580d07aee2c 100644
--- a/source/blender/editors/interface/interface_eyedropper_color.c
+++ b/source/blender/editors/interface/interface_eyedropper_color.c
@@ -81,10 +81,7 @@ typedef struct Eyedropper {
static bool eyedropper_init(bContext *C, wmOperator *op)
{
- Scene *scene = CTX_data_scene(C);
- Eyedropper *eye;
-
- op->customdata = eye = MEM_callocN(sizeof(Eyedropper), "Eyedropper");
+ Eyedropper *eye = MEM_callocN(sizeof(Eyedropper), __func__);
eye->use_accum = RNA_boolean_get(op->ptr, "use_accumulate");
UI_context_active_but_prop_get(C, &eye->ptr, &eye->prop, &eye->index);
@@ -95,10 +92,13 @@ static bool eyedropper_init(bContext *C, wmOperator *op)
(RNA_property_array_length(&eye->ptr, eye->prop) < 3) ||
(RNA_property_type(eye->prop) != PROP_FLOAT))
{
+ MEM_freeN(eye);
return false;
}
+ op->customdata = eye;
if (RNA_property_subtype(eye->prop) != PROP_COLOR) {
+ Scene *scene = CTX_data_scene(C);
const char *display_device;
float col[4];
@@ -113,6 +113,7 @@ static bool eyedropper_init(bContext *C, wmOperator *op)
copy_v3_v3(eye->init_col, col);
}
+
return true;
}
@@ -298,7 +299,6 @@ static int eyedropper_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(
return OPERATOR_RUNNING_MODAL;
}
else {
- eyedropper_exit(C, op);
return OPERATOR_PASS_THROUGH;
}
}