[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35703] trunk/blender/source/blender/ editors/space_image/image_ops.c: Bugfix #26562

Ton Roosendaal ton at blender.org
Tue Mar 22 16:20:25 CET 2011


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;
 			}




More information about the Bf-blender-cvs mailing list