summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/xwin/winconfig.c2
-rw-r--r--hw/xwin/winmultiwindowwndproc.c20
-rw-r--r--xkb/ddxLoad.c2
3 files changed, 14 insertions, 10 deletions
diff --git a/hw/xwin/winconfig.c b/hw/xwin/winconfig.c
index d401a1f70..db1454182 100644
--- a/hw/xwin/winconfig.c
+++ b/hw/xwin/winconfig.c
@@ -346,7 +346,7 @@ winConfigKeyboard(DeviceIntPtr pDevice)
g_winInfo.xkb.variant = pLayout->xkbvariant;
g_winInfo.xkb.options = pLayout->xkboptions;
- if (deviceIdentifier == 0xa0000) {
+ if (deviceIdentifier == 0xa000) {
winMsg(X_PROBED, "Windows keyboard layout device identifier indicates Macintosh, setting Model = \"macintosh\"");
g_winInfo.xkb.model = "macintosh";
}
diff --git a/hw/xwin/winmultiwindowwndproc.c b/hw/xwin/winmultiwindowwndproc.c
index 29b3db875..55c4d80c5 100644
--- a/hw/xwin/winmultiwindowwndproc.c
+++ b/hw/xwin/winmultiwindowwndproc.c
@@ -978,14 +978,18 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
winStartMousePolling(s_pScreenPriv);
}
- /* Window is being hidden */
- if (pWinPos->flags & SWP_HIDEWINDOW) {
- /* Tell our Window Manager thread to unmap the window */
- wmMsg.msg = WM_WM_UNMAP;
-
- if (fWMMsgInitialized)
- winSendMessageToWM(s_pScreenPriv->pWMInfo, &wmMsg);
- }
+ /*
+ We don't react to SWP_HIDEWINDOW indicating window is being hidden in
+ a symmetrical way (i.e. by sending WM_WM_UNMAP)
+
+ If the cause of the window being hidden is the X windows being unmapped,
+ (WM_STATE has changed to WithdrawnState), then the window has already
+ been unmapped.
+
+ Virtual desktop software (like VirtuaWin or Dexpot) uses SWP_HIDEWINDOW
+ to hide windows on other desktops. We mustn't unmap the X window in
+ that situation, as it becomes inaccessible.
+ */
}
/*
* Pass the message to DefWindowProc to let the function
diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c
index ffccafefa..c03fa6079 100644
--- a/xkb/ddxLoad.c
+++ b/xkb/ddxLoad.c
@@ -208,7 +208,7 @@ RunXkbComp(xkbcomp_buffer_callback callback, void *userdata)
else
LogMessage(X_ERROR, "Error compiling keymap (%s)\n", keymap);
#if defined(WIN32) || defined(__CYGWIN__)
- LogMessage(X_ERROR, "xkbcomp exit status %d\n", status);
+ LogMessage(X_ERROR, "xkbcomp exit status 0x%x\n", status);
{
char *lineptr = NULL;