[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41147] trunk/blender/source/blender: fixes for unicode input, should work for operator textinput now.

Campbell Barton ideasman42 at gmail.com
Thu Oct 20 13:18:58 CEST 2011


Revision: 41147
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41147
Author:   campbellbarton
Date:     2011-10-20 11:18:57 +0000 (Thu, 20 Oct 2011)
Log Message:
-----------
fixes for unicode input, should work for operator textinput now.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/curve/editfont.c
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c

Modified: trunk/blender/source/blender/editors/curve/editfont.c
===================================================================
--- trunk/blender/source/blender/editors/curve/editfont.c	2011-10-20 10:47:38 UTC (rev 41146)
+++ trunk/blender/source/blender/editors/curve/editfont.c	2011-10-20 11:18:57 UTC (rev 41147)
@@ -1289,7 +1289,7 @@
 	else if(event==BACKSPACEKEY)
 		ascii= 0;
 
-	if(val && ascii) {
+	if(val && (ascii || evt->utf8_buf[0])) {
 		/* handle case like TAB (== 9) */
 		if(     (ascii > 31 && ascii < 254 && ascii != 127) ||
 		        (ascii==13) ||

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c	2011-10-20 10:47:38 UTC (rev 41146)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2011-10-20 11:18:57 UTC (rev 41147)
@@ -1930,7 +1930,7 @@
 				break;
 		}
 
-		if(event->ascii && (retval == WM_UI_HANDLER_CONTINUE)) {
+		if((event->ascii || event->utf8_buf[0]) && (retval == WM_UI_HANDLER_CONTINUE)) {
 			char ascii = event->ascii;
 
 			/* exception that's useful for number buttons, some keyboard
@@ -1939,7 +1939,7 @@
 				if(event->type == PADPERIOD && ascii == ',')
 					ascii = '.';
 
-			if(event->utf8_buf[0] || 1) {
+			if(event->utf8_buf[0]) {
 				/* keep this printf until utf8 is well tested */
 				printf("%s: utf8 char '%s'\n", __func__, event->utf8_buf);
 				// strcpy(event->utf8_buf, "12345");

Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2011-10-20 10:47:38 UTC (rev 41146)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2011-10-20 11:18:57 UTC (rev 41147)
@@ -1146,7 +1146,7 @@
 
 	/* the matching rules */
 	if(kmitype==KM_TEXTINPUT)
-		if(ISTEXTINPUT(winevent->type) && winevent->ascii) return 1;
+		if(ISTEXTINPUT(winevent->type) && (winevent->ascii || winevent->utf8_buf[0])) return 1;
 	if(kmitype!=KM_ANY)
 		if(winevent->type!=kmitype) return 0;
 	




More information about the Bf-blender-cvs mailing list