# To subscribers of the xforms list from Angus Leeming <a.leeming@ic.ac.uk> :
This can be found in do_keyboard:
kbuflen = fl_XLookupString((XKeyEvent *) xev, (char *) keybuf,
sizeof(keybuf), &keysym);
It fills keysym and keybuf which are then passed on to fl_handle_forms.
However, at present (keysym == 0) is passed to fl_handle_forms which makes
little sense.
The problem occurs only while composing "foreign" chars like ä (a-umlaut)
using the keyboard sequence ComposeKey-a-". During composition, (I've hit
ComposeKey-a but not yet "), keysym, keybuf and kbuflen are all set to 0.
Here's the culprit:
/* pass all keys to the handler */
else if (IsCursorKey(keysym) || kbuflen == 0)
fl_handle_form(keyform, formevent, keysym, xev);
(But you're passing a null-key! Not what the comment suggests was intended.)
The most transparent patch is:
kbuflen = fl_XLookupString((XKeyEvent *) xev, (char *) keybuf,
sizeof(keybuf), &keysym);
+ if (!keysym)
+ return;
Steve, would you add this patch to your list for 1.1?
Best regards,
Angus
_________________________________________________
To unsubscribe, send the message "unsubscribe" to
xforms-request@bob.usuhs.mil or see
http://bob.usuhs.mil/mailserv/xforms.html
XForms Home Page: http://world.std.com/~xforms
List Archive: http://bob.usuhs.mil/mailserv/list-archives/
This archive was generated by hypermail 2b29 : Sat Dec 07 2002 - 08:08:35 EST