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:
-rw-r--r--source/blender/editors/include/UI_interface.h2
-rw-r--r--source/blender/editors/interface/interface_handlers.c18
2 files changed, 19 insertions, 1 deletions
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index 67dd2630da3..968007f42f7 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -225,7 +225,7 @@ enum {
UI_BUT_BOX_ITEM = (1 << 20), /* This but is "inside" a box item (currently used to change theme colors). */
UI_BUT_ACTIVE_LEFT = (1 << 21), /* Active left part of number button */
- UI_BUT_ACTIVE_RIGHT = (1 << 22), /* Active left part of number button */
+ UI_BUT_ACTIVE_RIGHT = (1 << 22), /* Active right part of number button */
};
/* scale fixed button widths by this to account for DPI */
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 5e628bf797d..de032f03f57 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -276,6 +276,7 @@ typedef struct uiHandleButtonData {
/* booleans (could be made into flags) */
bool cancel, escapecancel;
bool applied, applied_interactive;
+ bool changed_cursor;
wmTimer *flashtimer;
/* edited value */
@@ -4192,6 +4193,19 @@ static void ui_numedit_set_active(uiBut *but)
but->drawflag |= UI_BUT_ACTIVE_RIGHT;
}
+ if ((but->drawflag & (UI_BUT_ACTIVE_LEFT)) || (but->drawflag & (UI_BUT_ACTIVE_RIGHT))) {
+ if (data->changed_cursor) {
+ WM_cursor_modal_restore(data->window);
+ data->changed_cursor = false;
+ }
+ }
+ else {
+ if (data->changed_cursor == false) {
+ WM_cursor_modal_set(data->window, CURSOR_X_MOVE);
+ data->changed_cursor = true;
+ }
+ }
+
if (but->drawflag != oldflag) {
ED_region_tag_redraw(data->region);
}
@@ -7918,6 +7932,10 @@ static void button_activate_exit(
ui_selectcontext_end(but, &data->select_others);
#endif
+ if (data->changed_cursor) {
+ WM_cursor_modal_restore(data->window);
+ }
+
/* redraw (data is but->active!) */
ED_region_tag_redraw(data->region);