summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon TURNEY <jon.turney@dronecode.org.uk>2009-07-12 23:58:32 +0100
committerJon TURNEY <jon.turney@dronecode.org.uk>2009-10-15 18:35:20 +0100
commite23d9768cf57e10ca914d6eaf0f07a66de8a2d36 (patch)
tree0e8287e57679a93cc90784f37ab06fa0748e790d
parent9d4b5ae941657be02c398e8f0b03d37e50c9a7b1 (diff)
Cygwin/X: Ensure WM_STATE atom exists in multiwindow mode
Workaround a bug in iiimxcf (assuming the WM_STATE atom exists), which can cause many Solaris clients to simply fail with a BadAtom error Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
-rw-r--r--hw/xwin/winmultiwindowwm.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/xwin/winmultiwindowwm.c b/hw/xwin/winmultiwindowwm.c
index 2a19b0065..ce8c96b09 100644
--- a/hw/xwin/winmultiwindowwm.c
+++ b/hw/xwin/winmultiwindowwm.c
@@ -986,6 +986,16 @@ winMultiWindowXMsgProc (void *pArg)
"WM_CHANGE_STATE",
False);
+ /*
+ iiimxcf had a bug until 2009-04-27, assuming that the
+ WM_STATE atom exists, causing clients to fail with
+ a BadAtom X error if it doesn't.
+
+ Since this is on in the default Solaris 10 install,
+ workaround this by making sure it does exist...
+ */
+ XInternAtom(pProcArg->pDisplay, "WM_STATE", 0);
+
/* Loop until we explicitly break out */
while (1)
{