Proper fix for the lockup in _XReply()
This a second attempt to fix #93 (closed) which turned out wasn't properly fixed by f5ba2c63. @sparaddi reported that there is a similar lockup to what I was initially experiencing in a form of recursive synchronization and then we found out that the real root of the problem is that _XError() uses wrong version of LockDisplay() that shall not be used when invoked from _XReply() because it may cause the offending re-syncing by sending request and getting reply within a reply.
Edited by Dmitry Osipenko