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-11-09 20:33:51 +0000
commitec5417b965616e60b51466fe9fd2b44cb5abb349 (patch)
treea89e03d5e177332e182fbd18f7d179df30c659cf
parentaa860552fd7e2888258a7b48b8c3bd4af527dc6c (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> Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
-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 27f5e3278..880ca6a1c 100644
--- a/hw/xwin/winmultiwindowwm.c
+++ b/hw/xwin/winmultiwindowwm.c
@@ -1012,6 +1012,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)
{