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

Dalai Felinto dfelinto at gmail.com
Thu Oct 20 20:33:18 CEST 2011


Hi Campbell,

One of those recent commits broke backspace in Font objects.
To test it: (1) add a new Font object (2) remove the text.-- it removes the
1st letter, but to go further you need to keep backspace pressed. (pure
English, no utf8 text input).

confirmed on osx only, not sure about lin + win.
--
Dalai


2011/10/20 Campbell Barton <ideasman42 at gmail.com>

> 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;
>
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>


More information about the Bf-committers mailing list