I believe you misunderstood my problem. If the same program tries to register the same hotkey twice, it will fail. However, if another X program (or another wine program) has already registered a key and you try to register it, this will cause an X error. Which is fine, but I don't think I ever got around to properly handling the X error.
On 9/19/06, Aaron Slunt tonglebeak@gmail.com wrote:
http://www.winehq.com/pipermail/wine-devel/2006-May/047460.html
The above link I looked at, and I saw this person was apparently crashing with the patch when trying to register a hotkey twice (that's how I interpreted it).
Anyways, I looked at the patch, and cleaned it up so it applies to the current git tree. Anyways, it seems that I simply cannot reproduce the crash he was talking about. I binded F1 in HLSS (Half-Life Sound Selector), and opened another copy of HLSS. It simply would not allow me to register the key again. So I closed the second copy of HLSS and opened Ventrilo. I attempted to bind F1, and again it simply would not allow it.
And let me make this clear, not once did I crash with this patch. HLSS works (fundamentally, not perfectly) when using it with Counter-strike (the hotkey works, there are window management problems though which have nothing to do with this) and I just never crashed with it.
I'm attaching the patch for others to test if they could, and to see if a crash can be reproduced. But to me it looks like the work Robert Reif and Vincent Povirk is a huge success.