[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51683] trunk/blender/source/blender/ windowmanager/intern/wm_event_system.c: Another tweak in event code to get KM_CLICK work.

Ton Roosendaal ton at blender.org
Sat Oct 27 15:35:35 CEST 2012


Revision: 51683
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51683
Author:   ton
Date:     2012-10-27 13:35:33 +0000 (Sat, 27 Oct 2012)
Log Message:
-----------
Another tweak in event code to get KM_CLICK work.

It was copying 'prevval' and 'prevtype' too often - can cause issues with
different event systems or perifirals.

Modified Paths:
--------------
    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c

Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2012-10-27 13:22:44 UTC (rev 51682)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2012-10-27 13:35:33 UTC (rev 51683)
@@ -1698,8 +1698,8 @@
 	if (do_debug_handler) {
 		/* in rare cases you may want to comment this out for testing,
 		 * but mostly this is just annoying */
-		printf("%s: handling event\n", __func__);
-		WM_event_print(event);
+		//printf("%s: handling event\n", __func__);
+		//WM_event_print(event);
 	}
 #endif
 
@@ -1731,7 +1731,7 @@
 
 #ifndef NDEBUG
 				if (do_debug_handler) {
-					printf("%s:   checking '%s' ...", __func__, keymap->idname);
+					//printf("%s:   checking '%s' ...", __func__, keymap->idname);
 				}
 #endif
 
@@ -1739,7 +1739,7 @@
 
 #ifndef NDEBUG
 					if (do_debug_handler) {
-						printf("pass\n");
+						//printf("pass\n");
 					}
 #endif
 
@@ -1748,7 +1748,7 @@
 
 #ifndef NDEBUG
 							if (do_debug_handler) {
-								printf("%s:     item matched '%s'\n", __func__, kmi->idname);
+								//printf("%s:     item matched '%s'\n", __func__, kmi->idname);
 							}
 #endif
 
@@ -1760,7 +1760,7 @@
 								/* not always_pass here, it denotes removed handler */
 #ifndef NDEBUG
 								if (do_debug_handler) {
-									printf("%s:       handled! '%s'...", __func__, kmi->idname);
+									//printf("%s:       handled! '%s'...", __func__, kmi->idname);
 								}
 #endif
 								break;
@@ -1768,7 +1768,7 @@
 							else {
 #ifndef NDEBUG
 								if (do_debug_handler) {
-									printf("%s:       un-handled '%s'...", __func__, kmi->idname);
+									//printf("%s:       un-handled '%s'...", __func__, kmi->idname);
 								}
 #endif
 							}
@@ -1778,7 +1778,7 @@
 				else {
 #ifndef NDEBUG
 					if (do_debug_handler) {
-						printf("fail\n");
+						//printf("fail\n");
 					}
 #endif
 				}
@@ -2690,10 +2690,6 @@
 	/* initialize and copy state (only mouse x y and modifiers) */
 	event = *evt;
 	
-	/* copy prev state to event state */
-	evt->prevval = evt->val;
-	evt->prevtype = evt->type;
-	
 	switch (type) {
 		/* mouse move */
 		case GHOST_kEventCursorMove:
@@ -2777,6 +2773,10 @@
 		{
 			GHOST_TEventButtonData *bd = customdata;
 			
+			/* copy prev state to event state */
+			evt->prevval = evt->val;
+			evt->prevtype = evt->type;
+
 			/* get value and type from ghost */
 			event.val = (type == GHOST_kEventButtonDown) ? KM_PRESS : KM_RELEASE;
 			
@@ -2850,6 +2850,10 @@
 			memcpy(event.utf8_buf, kd->utf8_buf, sizeof(event.utf8_buf)); /* might be not null terminated*/
 			event.val = (type == GHOST_kEventKeyDown) ? KM_PRESS : KM_RELEASE;
 			
+			/* copy prev state to event state */
+			evt->prevval = evt->val;
+			evt->prevtype = evt->type;
+
 			/* copy to event state */
 			evt->val = event.val;
 			evt->type = event.type;




More information about the Bf-blender-cvs mailing list