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;


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to