On Wednesday 11 December 2002 2:37 pm, Jean-Marc Lasgouttes wrote:
> Angus> Did you ever get to the bottom of why you had to call
> Angus> XLookupString in order to call XmbLookupString successfully?
> Angus> Should xforms' call to XmbLookupString be "initialised" in this
> Angus> way also?
>
> I do not really remember why this is necessary. Looking at changes in
> version 1.19 of lyxlookup.C, it seems that it was needed to make
> isDeadEvent work correctly. But my memory is very fuzzy on these
> things. Maybe Lars remembers...

Yes, that would make sense, since it used the keysym.
Alos, that means that it's an irrelevant difference as far as xforms is 
concerned, since xforms should expect X's dead keys to be working correctly.

One other difference between xforms and lyx that I've found.
LyXLookupString has this at the top:
        if (xev->type != KeyPress) return;
fl_XLookupString does not have that and is called on both KeyPress and 
KeyRelease events. Moreover, my man XmbLookupString has this:

  XmbLookupString returns the length of the string in bytes, and XwcLookup-
  String returns the length of the string in characters. Both XmbLookupString
  and XwcLookupString return text in the encoding of the locale bound to the
  input method of the specified input context.

       Their behavior when a client passes a KeyRelease event is undefined.

At present XmbLookupString is definitely being invoked on KeyRelease events. 
Might this be messing up solaris?
Angus

Reply via email to