[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
Fri Oct 21 01:44:14 CEST 2011


It's indeed this commit (#41147). Jens confirmed there as well.
My suspicions lies on the fact that in OSX when we have utf8 we have no
ascii.

--
Dalai

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

> Hi Dalai, I can't redo this bug.
>
> On Fri, Oct 21, 2011 at 5:33 AM, Dalai Felinto <dfelinto at gmail.com> wrote:
> > 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
> >>
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers at blender.org
> > http://lists.blender.org/mailman/listinfo/bf-committers
> >
>
>
>
> --
> - Campbell
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>


More information about the Bf-committers mailing list