Revision: 35703
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35703
Author:   ton
Date:     2011-03-22 15:20:25 +0000 (Tue, 22 Mar 2011)
Log Message:
-----------
Bugfix #26562

Keymap fix for UV/Image editor: the modal zoom/pan functions were checking
for hardcoded events to end. Now it uses the key from keymap.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_image/image_ops.c

Modified: trunk/blender/source/blender/editors/space_image/image_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_image/image_ops.c        
2011-03-22 14:37:45 UTC (rev 35702)
+++ trunk/blender/source/blender/editors/space_image/image_ops.c        
2011-03-22 15:20:25 UTC (rev 35703)
@@ -176,6 +176,7 @@
 typedef struct ViewPanData {
        float x, y;
        float xof, yof;
+       int event_type;
 } ViewPanData;
 
 static void view_pan_init(bContext *C, wmOperator *op, wmEvent *event)
@@ -190,6 +191,7 @@
        vpd->y= event->y;
        vpd->xof= sima->xof;
        vpd->yof= sima->yof;
+       vpd->event_type= event->type;
 
        WM_event_add_modal_handler(C, op);
 }
@@ -266,9 +268,8 @@
                        RNA_float_set_array(op->ptr, "offset", offset);
                        view_pan_exec(C, op);
                        break;
-               case MIDDLEMOUSE:
-               case LEFTMOUSE:
-                       if(event->val==KM_RELEASE) {
+               default:
+                       if(event->type==vpd->event_type &&  
event->val==KM_RELEASE) {
                                view_pan_exit(C, op, 0);
                                return OPERATOR_FINISHED;
                        }
@@ -310,6 +311,7 @@
 typedef struct ViewZoomData {
        float x, y;
        float zoom;
+       int event_type;
 } ViewZoomData;
 
 static void view_zoom_init(bContext *C, wmOperator *op, wmEvent *event)
@@ -323,7 +325,8 @@
        vpd->x= event->x;
        vpd->y= event->y;
        vpd->zoom= sima->zoom;
-
+       vpd->event_type= event->type;
+       
        WM_event_add_modal_handler(C, op);
 }
 
@@ -396,9 +399,8 @@
                        sima_zoom_set(sima, ar, vpd->zoom*factor);
                        ED_region_tag_redraw(CTX_wm_region(C));
                        break;
-               case MIDDLEMOUSE:
-               case LEFTMOUSE:
-                       if(event->val==KM_RELEASE) {
+               default:
+                       if(event->type==vpd->event_type && 
event->val==KM_RELEASE) {
                                view_zoom_exit(C, op, 0);
                                return OPERATOR_FINISHED;
                        }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to