[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23836] trunk/blender/source/blender/ editors/interface/interface_handlers.c: fix for continuous grab where you couldnt properly click the button for incremental changes or editing
Campbell Barton
ideasman42 at gmail.com
Wed Oct 14 16:44:21 CEST 2009
Revision: 23836
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23836
Author: campbellbarton
Date: 2009-10-14 16:44:21 +0200 (Wed, 14 Oct 2009)
Log Message:
-----------
fix for continuous grab where you couldnt properly click the button for incremental changes or editing
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_handlers.c
Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c 2009-10-14 14:44:05 UTC (rev 23835)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c 2009-10-14 14:44:21 UTC (rev 23836)
@@ -2138,15 +2138,15 @@
static int ui_do_but_NUM(bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, wmEvent *event)
{
- int mx, my, click= 0;
+ int mx, my; /* mouse location scaled to fit the UI */
+ int screen_mx, screen_my; /* mouse location kept at screen pixel coords */
+ int click= 0;
int retval= WM_UI_HANDLER_CONTINUE;
- mx= event->x;
- my= event->y;
+ mx= screen_mx= event->x;
+ my= screen_my= event->y;
- if(!ui_is_a_warp_but(but)) {
- ui_window_to_block(data->region, block, &mx, &my);
- }
+ ui_window_to_block(data->region, block, &mx, &my);
if(data->state == BUTTON_STATE_HIGHLIGHT) {
/* XXX hardcoded keymap check.... */
@@ -2164,8 +2164,7 @@
retval= WM_UI_HANDLER_BREAK;
}
else if(event->type == LEFTMOUSE) {
- data->dragstartx= mx;
- data->draglastx= mx;
+ data->dragstartx= data->draglastx= ui_is_a_warp_but(but) ? screen_mx:mx;
button_activate_state(C, but, BUTTON_STATE_NUM_EDITING);
retval= WM_UI_HANDLER_BREAK;
}
@@ -2204,7 +2203,7 @@
snap= (event->ctrl)? (event->shift)? 2: 1: 0;
- if(ui_numedit_but_NUM(but, data, fac, snap, mx))
+ if(ui_numedit_but_NUM(but, data, fac, snap, (ui_is_a_warp_but(but) ? screen_mx:mx)))
ui_numedit_apply(C, block, but, data);
}
retval= WM_UI_HANDLER_BREAK;
More information about the Bf-blender-cvs
mailing list