Looking at your patch: In forms.h you have this as well as one for 'fl_get_composed_string'. +FL_EXPORT void ol_get_composed_string( + int * ptr_kbuflen, + char const * ptr_keybuf + );
I take it that this is 'old fl_get_composed_string that didn't work' ? Presumably you should now get rid of it. In forms.c you have this: case FocusIn: - if (fl_context->xic) + if (evform->xic) { M_info("Focus", "Setting focus window for IC"); - XSetICValues(fl_context->xic, + XSetICValues(evform->xic, XNFocusWindow, st_xev.xfocus.window, XNClientWindow, st_xev.xfocus.window, 0); Do you need it anymore at all? Remember, you create the IC for each form/window, so I'd be surprised if you needed to tell evform->xic about the st_xev.xfocus.window. Apart from that, you are obviously a wizard. Well done CG! Angus