[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