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:
authorFalk David <falkdavid@gmx.de>2021-04-20 16:45:32 +0300
committerFalk David <falkdavid@gmx.de>2021-04-20 16:46:52 +0300
commite1a9ba94c59950ed6af09b524d7a7fe22919055b (patch)
tree5e508cd6974184dc57a4e16f15ea3f19f5208189 /source/blender/editors/interface/interface_handlers.c
parent7834fcc67d28b9104faaf8b2379b9f094076a572 (diff)
Fix T87637: Dragging button value cancel not working
Dragging a number button, then holding the value and pressing escape would not reset the value correctly. This was because eb06ccc32462 assumed that `data->value` and `data->startvalue` were set during dragging which they are not. The fix moves the if statement into the section where we check if a number was entered (number edit) making sure that we only cancel if the button was in "string enter" mode and that the value entered was the same as before. Reviewed By: HooglyBoogly, Severin Maniphest Tasks: T87637 Differential Revision: https://developer.blender.org/D11021
Diffstat (limited to 'source/blender/editors/interface/interface_handlers.c')
-rw-r--r--source/blender/editors/interface/interface_handlers.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index c64e562c36c..4cbf5fca49a 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -1121,17 +1121,17 @@ static void ui_apply_but_NUM(bContext *C, uiBut *but, uiHandleButtonData *data)
data->cancel = true;
return;
}
+
+ /* If the value entered is the exact same, do not trigger an update. */
+ if (data->value == data->startvalue) {
+ data->cancel = true;
+ return;
+ }
}
else {
ui_but_value_set(but, data->value);
}
- /* If the value entered is the exact same, do not trigger an update. */
- if (data->value == data->startvalue) {
- data->cancel = true;
- return;
- }
-
ui_but_update_edited(but);
ui_apply_but_func(C, but);