The attachment is my attempt to backport Xorg's XIM fixing to FreeDesktop.org's
modular xlibs. Here are the ChangeLogs:
2004-09-14 Egbert Eich <eich-at-freedesktop-org>
* lib/X11/imInsClbk.c: (_XimUnRegisterIMInstantiateCallback):
Unregistering events in XSelectInput() when unregistering IM
filter callbacks may be a bad idea as others may be interested
in this event. Removed the call to XSelectInput() altogether
as we are in root window anyway (Lubos Lunak).
2004-08-31 Egbert Eich <eich-at-freedesktop-org>
* lib/X11/GetWAttrs.c: (_XGetWindowAttributes),
* lib/X11/PutBEvent.c: (_XPutBackEvent), (XPutBackEvent):
* lib/X11/imDefLkup.c: (_XimGetWindowEventmask):
Fixed some lockups in XIM code when the application is running
with multi thread support. These lockups occur deep down in
XFilterEvents() which itself locks when another Xlib function
gets called that also locks. This fixes two instances by
separating those Xlib functions into an internal (non-locking)
call and a locking wrapper that is used as an external function.
There may be several other such instances therefore another
more general patch is eventually required (Bugzilla #1182).
Created attachment 1006 [details] [review]
XIM patch from Xorg
The xlibs repo is obsolete, and it looks to me like this was the wrong fix for the problem anyway. Closing, won't fix.