* xterm.c (xim_initialize): Always pass a copy of resource name
commit12e852a208f2035094b46999e92afa8e3366748b
authorDmitry Antipov <dmantipov@yandex.ru>
Thu, 6 Mar 2014 11:18:22 +0000 (6 15:18 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Thu, 6 Mar 2014 11:18:22 +0000 (6 15:18 +0400)
tree4843fd877d76169e571bb18ce4b43a812601ba34
parentf65ba1005b499a7fb77c77652f37338277f06616
* xterm.c (xim_initialize): Always pass a copy of resource name
to XRegisterIMInstantiateCallback and eassert whether return
value is True.  Passing copy is important because Xlib doesn't
make its own copy and resource name argument usually points to
SSDATA (Vx_resource_name), which may be changed from Lisp.
(xim_close_display): For XUnregisterIMInstantiateCallback,
always eassert return value and pass exactly the same values
as were used for XRegisterIMInstantiateCallback.  Otherwise
XUnregisterIMInstantiateCallback will always fail.  See Xlib
sources to check why if you are interested.
src/ChangeLog
src/xterm.c