diff options
-rw-r--r-- | hw/xwin/winconfig.c | 2 | ||||
-rw-r--r-- | hw/xwin/winmultiwindowwndproc.c | 20 | ||||
-rw-r--r-- | xkb/ddxLoad.c | 2 |
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; |