[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41182] trunk/blender/intern/ghost/intern/ GHOST_SystemCocoa.mm: utf8 OSX - disabling utf8 at KeyUp, otherwise TextObject doesn't work.

Dalai Felinto dfelinto at gmail.com
Fri Oct 21 21:09:15 CEST 2011


Revision: 41182
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41182
Author:   dfelinto
Date:     2011-10-21 19:09:14 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
utf8 OSX - disabling utf8 at KeyUp, otherwise TextObject doesn't work.
This bug is also present in Windows, so I believe the real bug is in Linux (and in the text object input).

Also Cmd+C and Cmd+v doesn't work for utf8 yet.

Modified Paths:
--------------
    trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm	2011-10-21 17:40:35 UTC (rev 41181)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm	2011-10-21 19:09:14 UTC (rev 41182)
@@ -1707,10 +1707,6 @@
 				}
 			}
 
-			/* XXX the above code gives us the right utf8, however if we pass it along Font Object doesn't work.
-			   let's leave utf8 disabled for OSX before we fix that */
-			utf8_buf[0] = '\0';//to be removed once things are working
-			
 			if ((keyCode == GHOST_kKeyQ) && (m_modifierMask & NSCommandKeyMask))
 				break; //Cmd-Q is directly handled by Cocoa
 
@@ -1718,8 +1714,10 @@
 				pushEvent( new GHOST_EventKey([event timestamp]*1000, GHOST_kEventKeyDown, window, keyCode, ascii, utf8_buf) );
 				//printf("Key down rawCode=0x%x charsIgnoringModifiers=%c keyCode=%u ascii=%i %c utf8=%s\n",[event keyCode],[charsIgnoringModifiers length]>0?[charsIgnoringModifiers characterAtIndex:0]:' ',keyCode,ascii,ascii, utf8_buf);
 			} else {
+			// XXX Font Object bug - backspace or adding new chars are being computed twice (keydown and keyup)
+				utf8_buf[0] = '\0';
 				pushEvent( new GHOST_EventKey([event timestamp]*1000, GHOST_kEventKeyUp, window, keyCode, ascii, utf8_buf) );
-				//printf("Key down rawCode=0x%x charsIgnoringModifiers=%c keyCode=%u ascii=%i %c utf8=%s\n",[event keyCode],[charsIgnoringModifiers length]>0?[charsIgnoringModifiers characterAtIndex:0]:' ',keyCode,ascii,ascii, utf8_buf);
+				//printf("Key up rawCode=0x%x charsIgnoringModifiers=%c keyCode=%u ascii=%i %c utf8=%s\n",[event keyCode],[charsIgnoringModifiers length]>0?[charsIgnoringModifiers characterAtIndex:0]:' ',keyCode,ascii,ascii, utf8_buf);
 			}
 			break;
 	




More information about the Bf-blender-cvs mailing list