From 2480bbff56475b3326ab397ed91900b4e66da757 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 28 May 2015 15:41:17 +1000 Subject: Multi-value cancel, keeps scale set --- source/blender/editors/interface/interface_handlers.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'source/blender/editors/interface') diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 5c8b259f0a3..6f027823279 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -1932,11 +1932,9 @@ static void ui_apply_but(bContext *C, uiBlock *block, uiBut *but, uiHandleButton if (data->str) MEM_freeN(data->str); data->str = data->origstr; - data->origstr = NULL; data->value = data->origvalue; - data->origvalue = 0.0; copy_v3_v3(data->vec, data->origvec); - data->origvec[0] = data->origvec[1] = data->origvec[2] = 0.0f; + /* postpone clearing origdata */ } else { /* we avoid applying interactive edits a second time @@ -2076,6 +2074,12 @@ static void ui_apply_but(bContext *C, uiBlock *block, uiBut *but, uiHandleButton ui_selectcontext_apply(C, but, &data->select_others, data->value, data->origvalue); #endif + if (data->cancel) { + data->origstr = NULL; + data->origvalue = 0.0; + zero_v3(data->origvec); + } + but->editstr = editstr; but->editval = editval; but->editvec = editvec; -- cgit v1.2.3