[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60091] trunk/blender/source/blender/ editors/interface/interface_handlers.c: when handling the escape key, check for press (ignore release events), right mouse already did this.

Campbell Barton ideasman42 at gmail.com
Fri Sep 13 00:48:46 CEST 2013


Revision: 60091
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60091
Author:   campbellbarton
Date:     2013-09-12 22:48:46 +0000 (Thu, 12 Sep 2013)
Log Message:
-----------
when handling the escape key, check for press (ignore release events), right mouse already did this.
ensures the escape key isn't handled twice for one press.

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	2013-09-12 22:29:20 UTC (rev 60090)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2013-09-12 22:48:46 UTC (rev 60091)
@@ -2097,10 +2097,12 @@
 			break;
 		case RIGHTMOUSE:
 		case ESCKEY:
-			data->cancel = true;
-			data->escapecancel = true;
-			button_activate_state(C, but, BUTTON_STATE_EXIT);
-			retval = WM_UI_HANDLER_BREAK;
+			if (event->val == KM_PRESS) {
+				data->cancel = true;
+				data->escapecancel = true;
+				button_activate_state(C, but, BUTTON_STATE_EXIT);
+				retval = WM_UI_HANDLER_BREAK;
+			}
 			break;
 		case LEFTMOUSE:
 		{
@@ -2569,9 +2571,11 @@
 				return WM_UI_HANDLER_BREAK;
 			}
 			else if (event->type == ESCKEY) {
-				data->cancel = true;
-				data->escapecancel = true;
-				button_activate_state(C, but, BUTTON_STATE_EXIT);
+				if (event->val == KM_PRESS) {
+					data->cancel = true;
+					data->escapecancel = true;
+					button_activate_state(C, but, BUTTON_STATE_EXIT);
+				}
 			}
 			
 		}
@@ -3014,9 +3018,11 @@
 	}
 	else if (data->state == BUTTON_STATE_NUM_EDITING) {
 		if (event->type == ESCKEY || event->type == RIGHTMOUSE) {
-			data->cancel = true;
-			data->escapecancel = true;
-			button_activate_state(C, but, BUTTON_STATE_EXIT);
+			if (event->val == KM_PRESS) {
+				data->cancel = true;
+				data->escapecancel = true;
+				button_activate_state(C, but, BUTTON_STATE_EXIT);
+			}
 		}
 		else if (event->type == LEFTMOUSE && event->val != KM_PRESS) {
 			if (data->dragchange)
@@ -3278,9 +3284,11 @@
 	}
 	else if (data->state == BUTTON_STATE_NUM_EDITING) {
 		if (event->type == ESCKEY || event->type == RIGHTMOUSE) {
-			data->cancel = TRUE;
-			data->escapecancel = TRUE;
-			button_activate_state(C, but, BUTTON_STATE_EXIT);
+			if (event->val == KM_PRESS) {
+				data->cancel = TRUE;
+				data->escapecancel = TRUE;
+				button_activate_state(C, but, BUTTON_STATE_EXIT);
+			}
 		}
 		else if (event->type == LEFTMOUSE && event->val != KM_PRESS) {
 			if (data->dragchange)
@@ -3395,9 +3403,11 @@
 	}
 	else if (data->state == BUTTON_STATE_NUM_EDITING) {
 		if (event->type == ESCKEY) {
-			data->cancel = true;
-			data->escapecancel = true;
-			button_activate_state(C, but, BUTTON_STATE_EXIT);
+			if (event->val == KM_PRESS) {
+				data->cancel = true;
+				data->escapecancel = true;
+				button_activate_state(C, but, BUTTON_STATE_EXIT);
+			}
 		}
 		else if (event->type == LEFTMOUSE && event->val != KM_PRESS) {
 			button_activate_state(C, but, BUTTON_STATE_EXIT);
@@ -3433,12 +3443,14 @@
 
 	if (data->state == BUTTON_STATE_NUM_EDITING) {
 		if (event->type == ESCKEY) {
-			data->cancel = true;
-			data->escapecancel = true;
-			*size = (int)data->origvalue;
-			button_activate_state(C, but, BUTTON_STATE_EXIT);
-			ui_list->flag &= ~UILST_RESIZING;
-			ED_region_tag_redraw(data->region);
+			if (event->val == KM_PRESS) {
+				data->cancel = true;
+				data->escapecancel = true;
+				*size = (int)data->origvalue;
+				button_activate_state(C, but, BUTTON_STATE_EXIT);
+				ui_list->flag &= ~UILST_RESIZING;
+				ED_region_tag_redraw(data->region);
+			}
 		}
 		else if (event->type == LEFTMOUSE && event->val != KM_PRESS) {
 			button_activate_state(C, but, BUTTON_STATE_EXIT);
@@ -3976,9 +3988,11 @@
 	}
 	else if (data->state == BUTTON_STATE_NUM_EDITING) {
 		if (event->type == ESCKEY || event->type == RIGHTMOUSE) {
-			data->cancel = true;
-			data->escapecancel = true;
-			button_activate_state(C, but, BUTTON_STATE_EXIT);
+			if (event->val == KM_PRESS) {
+				data->cancel = true;
+				data->escapecancel = true;
+				button_activate_state(C, but, BUTTON_STATE_EXIT);
+			}
 		}
 		else if (event->type == MOUSEMOVE) {
 			if (mx != data->draglastx || my != data->draglasty) {
@@ -4187,9 +4201,11 @@
 	}
 	else if (data->state == BUTTON_STATE_NUM_EDITING) {
 		if (event->type == ESCKEY || event->type == RIGHTMOUSE) {
-			data->cancel = true;
-			data->escapecancel = true;
-			button_activate_state(C, but, BUTTON_STATE_EXIT);
+			if (event->val == KM_PRESS) {
+				data->cancel = true;
+				data->escapecancel = true;
+				button_activate_state(C, but, BUTTON_STATE_EXIT);
+			}
 		}
 		/* XXX hardcoded keymap check.... */
 		else if (event->type == WHEELDOWNMOUSE) {
@@ -4632,9 +4648,11 @@
 	}
 	else if (data->state == BUTTON_STATE_NUM_EDITING) {
 		if (event->type == ESCKEY) {
-			data->cancel = true;
-			data->escapecancel = true;
-			button_activate_state(C, but, BUTTON_STATE_EXIT);
+			if (event->val == KM_PRESS) {
+				data->cancel = true;
+				data->escapecancel = true;
+				button_activate_state(C, but, BUTTON_STATE_EXIT);
+			}
 		}
 		else if (event->type == MOUSEMOVE) {
 			if (mx != data->draglastx || my != data->draglasty) {
@@ -4715,9 +4733,11 @@
 	}
 	else if (data->state == BUTTON_STATE_NUM_EDITING) {
 		if (event->type == ESCKEY) {
-			data->cancel = true;
-			data->escapecancel = true;
-			button_activate_state(C, but, BUTTON_STATE_EXIT);
+			if (event->val == KM_PRESS) {
+				data->cancel = true;
+				data->escapecancel = true;
+				button_activate_state(C, but, BUTTON_STATE_EXIT);
+			}
 		}
 		else if (event->type == MOUSEMOVE) {
 			if (mx != data->draglastx || my != data->draglasty) {
@@ -4782,9 +4802,11 @@
 	}
 	else if (data->state == BUTTON_STATE_NUM_EDITING) {
 		if (event->type == ESCKEY) {
-			data->cancel = true;
-			data->escapecancel = true;
-			button_activate_state(C, but, BUTTON_STATE_EXIT);
+			if (event->val == KM_PRESS) {
+				data->cancel = true;
+				data->escapecancel = true;
+				button_activate_state(C, but, BUTTON_STATE_EXIT);
+			}
 		}
 		else if (event->type == MOUSEMOVE) {
 			if (mx != data->draglastx || my != data->draglasty) {
@@ -4893,9 +4915,11 @@
 	}
 	else if (data->state == BUTTON_STATE_NUM_EDITING) {
 		if (event->type == ESCKEY) {
-			data->cancel = true;
-			data->escapecancel = true;
-			button_activate_state(C, but, BUTTON_STATE_EXIT);
+			if (event->val == KM_PRESS) {
+				data->cancel = true;
+				data->escapecancel = true;
+				button_activate_state(C, but, BUTTON_STATE_EXIT);
+			}
 		}
 		else if (event->type == MOUSEMOVE) {
 			if (mx != data->draglastx || my != data->draglasty) {




More information about the Bf-blender-cvs mailing list