Comment #18 on issue 1760 by [email protected]: CRITICAL **: xim_open: assertion 'conn == NULL' failed
https://code.google.com/p/ibus/issues/detail?id=1760

You are correct. As I said, the problem here is that a bad client can cause an internal problem in the server that is going to affect all other clients.

I also think the best solution is for the server to select StructureNotify on the client's window, so that the server will receive a DestroyNotify event, that can be used to detect the client disconnecting even without XIM_CLOSE or XIM_DISCONNECT. You can simply ignore XIM_DISCONNECT and don't do anything, rather, upon receipt of a DestroyNotify event, close any open clients tied to this connection, and disconnect it.

This is going to correctly handle clients that send XIM_DISCONNECT, and those that don't send it at all, and simply shut down.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en
--- You received this message because you are subscribed to the Google Groups "ibus-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

回复