diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-04-09 16:54:13 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-04-10 15:49:49 +0400 |
commit | f93bc7693a530632455d3ec7acc4bce54a1f85bc (patch) | |
tree | d0e067438cbc547875b3cb77e53904c5ea2a537d /source/blender/editors/interface/interface_handlers.c | |
parent | 19e627cab34a04a3d01b2e3a868b7bf91d56e8f9 (diff) |
Backport revisions for the 2.70a releasev2.70a
d2660a0, 6e99fb0, 58c22d8, 83f2012 + ff21f6a, a7ed1db. cc6b106
7997e38, 9d4b54b, efb48fc, 3fc293c, 29f359c, 77c1d17, 92a539e,
c626462, f48828b, 6452d9f, 765d077, 74518b2, af16d46, 8da4936,
6babbf5, f0106d2, f88776b, ee72cba, 467596d, e21a7b3, eed3974,
71a2ff1, ccf9afd, 44d6c68, 30fdfc3, b69809c, b0a8e4c, bd57ec6,
3b0832d, 2a25676, 3977b76, fb25a86, 9bbb30b, 51abc2b, 0ebade5,
2c0e32f, 3deaf7d, ea01b24, c61eb64, f3db038, a6fb670, eedde31,
b66a954, 7ff123c, f5b79df, 7148c97, 54a8753, fcaa018, 4c73001,
7a21330, 07578be, e9a64e2, fd3de8b, ae792e9, b7712a7 + 3600622,
d9557d0, 6d973b8, 688257d, 4acb57a, 95ac6bc,
Also backported openmp changes to sculpt making it so number
of real CPU cores is used as a number of threads here.
Diffstat (limited to 'source/blender/editors/interface/interface_handlers.c')
-rw-r--r-- | source/blender/editors/interface/interface_handlers.c | 39 |
1 files changed, 33 insertions, 6 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index f1c0df23fc9..0768d556911 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -2374,6 +2374,11 @@ static void ui_textedit_begin(bContext *C, uiBut *but, uiHandleButtonData *data) data->selextend = 0; data->selstartx = 0.0f; +#ifdef USE_DRAG_MULTINUM + /* this can happen from multi-drag */ + data->applied_interactive = false; +#endif + /* set cursor pos to the end of the text */ but->editstr = data->str; but->pos = len; @@ -3477,10 +3482,21 @@ static int ui_do_but_NUM(bContext *C, uiBlock *block, uiBut *but, uiHandleButton } } else if (event->type == LEFTMOUSE && event->val != KM_PRESS) { - if (data->dragchange) - button_activate_state(C, but, BUTTON_STATE_EXIT); - else + if (data->dragchange) { +#ifdef USE_DRAG_MULTINUM + /* if we started multibutton but didnt drag, then edit */ + if (data->multi_data.init == BUTTON_MULTI_INIT_SETUP) { + click = 1; + } + else +#endif + { + button_activate_state(C, but, BUTTON_STATE_EXIT); + } + } + else { click = 1; + } } else if (event->type == MOUSEMOVE) { const enum eSnapType snap = ui_event_to_snap(event); @@ -3763,10 +3779,21 @@ static int ui_do_but_SLI(bContext *C, uiBlock *block, uiBut *but, uiHandleButton } } else if (event->type == LEFTMOUSE && event->val != KM_PRESS) { - if (data->dragchange) - button_activate_state(C, but, BUTTON_STATE_EXIT); - else + if (data->dragchange) { +#ifdef USE_DRAG_MULTINUM + /* if we started multibutton but didnt drag, then edit */ + if (data->multi_data.init == BUTTON_MULTI_INIT_SETUP) { + click = 1; + } + else +#endif + { + button_activate_state(C, but, BUTTON_STATE_EXIT); + } + } + else { click = 1; + } } else if (event->type == MOUSEMOVE) { #ifdef USE_DRAG_MULTINUM |