diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-01-18 01:31:39 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-01-18 01:31:39 +0300 |
commit | 2757469824bbe98d943b42f57ff23782b97a3abf (patch) | |
tree | 8fcb55970a4e1e5b42605a245823076df1f3b195 /source/blender/editors/interface/interface_eyedropper_depth.c | |
parent | 7a0cc955cc0b13e69412ff64b83bea1fcbbb9206 (diff) |
UI: only reset eyedropper on cancel when set
Diffstat (limited to 'source/blender/editors/interface/interface_eyedropper_depth.c')
-rw-r--r-- | source/blender/editors/interface/interface_eyedropper_depth.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/editors/interface/interface_eyedropper_depth.c b/source/blender/editors/interface/interface_eyedropper_depth.c index 4d0a95a6bbd..1634e7c6bd4 100644 --- a/source/blender/editors/interface/interface_eyedropper_depth.c +++ b/source/blender/editors/interface/interface_eyedropper_depth.c @@ -69,6 +69,7 @@ typedef struct DepthDropper { PropertyRNA *prop; bool is_undo; + bool is_set; float init_depth; /* for resetting on cancel */ bool accum_start; /* has mouse been presed */ @@ -219,6 +220,7 @@ static void depthdropper_depth_sample_pt(bContext *C, DepthDropper *ddr, int mx, static void depthdropper_depth_set(bContext *C, DepthDropper *ddr, const float depth) { RNA_property_float_set(&ddr->ptr, ddr->prop, depth); + ddr->is_set = true; RNA_property_update(C, &ddr->ptr, ddr->prop); } @@ -255,7 +257,9 @@ static void depthdropper_depth_sample_accum(bContext *C, DepthDropper *ddr, int static void depthdropper_cancel(bContext *C, wmOperator *op) { DepthDropper *ddr = op->customdata; - depthdropper_depth_set(C, ddr, ddr->init_depth); + if (ddr->is_set) { + depthdropper_depth_set(C, ddr, ddr->init_depth); + } depthdropper_exit(C, op); } |