diff options
Diffstat (limited to 'xorg-server/hw/xwin/winwin32rootlesswndproc.c')
-rw-r--r-- | xorg-server/hw/xwin/winwin32rootlesswndproc.c | 131 |
1 files changed, 61 insertions, 70 deletions
diff --git a/xorg-server/hw/xwin/winwin32rootlesswndproc.c b/xorg-server/hw/xwin/winwin32rootlesswndproc.c index f65811c9a..e008c2440 100644 --- a/xorg-server/hw/xwin/winwin32rootlesswndproc.c +++ b/xorg-server/hw/xwin/winwin32rootlesswndproc.c @@ -413,7 +413,6 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) wmMsg.iHeight = pRLWinPriv->pFrame->height; fWMMsgInitialized = TRUE; -#if CYGDEBUG winDebugWin32Message("winMWExtWMWindowProc", hwnd, message, wParam, lParam); @@ -423,7 +422,6 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) winDebug("\thwndScreen %08X\n", hwndScreen); winDebug("winMWExtWMWindowProc (%08x) %08x %08x %08x\n", pRLWinPriv, message, wParam, lParam); -#endif } /* Branch on message type */ switch (message) { @@ -438,20 +436,21 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) return 0; case WM_CLOSE: -#if CYGMULTIWINDOW_DEBUG winDebug("winMWExtWMWindowProc - WM_CLOSE %d\n", pRLWinPriv->fClose); -#endif + /* Tell window-manager to close window */ if (pRLWinPriv->fClose) { DestroyWindow(hwnd); } else { if (winIsInternalWMRunning(pScreenInfo)) { +#ifdef XWIN_MULTIWINDOWINTWM /* Tell our Window Manager thread to kill the window */ wmMsg.msg = WM_WM_KILL; if (fWMMsgInitialized) winSendMessageToWM(pScreenPriv->pWMInfo, &wmMsg); } +#endif winWindowsWMSendEvent(WindowsWMControllerNotify, WindowsWMControllerNotifyMask, 1, @@ -677,22 +676,23 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) return 0; case WM_MOUSEACTIVATE: -#if CYGMULTIWINDOW_DEBUG winDebug("winMWExtWMWindowProc - WM_MOUSEACTIVATE\n"); -#endif -#if 1 + +#ifdef XWIN_MULTIWINDOWINTWM /* Check if this window needs to be made active when clicked */ if (winIsInternalWMRunning(pScreenInfo) && pWin->overrideRedirect) { -#if CYGMULTIWINDOW_DEBUG winDebug("winMWExtWMWindowProc - WM_MOUSEACTIVATE - " "MA_NOACTIVATE\n"); -#endif /* */ return MA_NOACTIVATE; } #endif - if (!winIsInternalWMRunning(pScreenInfo) && !IsMouseActive(pWin)) + if ( +#ifdef XWIN_MULTIWINDOWINTWM + !winIsInternalWMRunning(pScreenInfo) && +#endif + !IsMouseActive (pWin)) return MA_NOACTIVATE; break; @@ -758,9 +758,7 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) return 0; case WM_ERASEBKGND: -#if CYGDEBUG winDebug("winMWExtWMWindowProc - WM_ERASEBKGND\n"); -#endif /* * Pretend that we did erase the background but we don't care, * since we repaint the entire region anyhow @@ -801,11 +799,10 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) break; case WM_ACTIVATE: -#if CYGMULTIWINDOW_DEBUG winDebug("winMWExtWMWindowProc - WM_ACTIVATE\n"); -#endif if (LOWORD(wParam) != WA_INACTIVE) { if (winIsInternalWMRunning(pScreenInfo)) { +#ifdef XWIN_MULTIWINDOWINTWM #if 0 /* Raise the window to the top in Z order */ wmMsg.msg = WM_WM_RAISE; @@ -818,6 +815,7 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) if (!pWin || !pWin->overrideRedirect) /* for OOo menus */ winSendMessageToWM(pScreenPriv->pWMInfo, &wmMsg); } +#endif winWindowsWMSendEvent(WindowsWMControllerNotify, WindowsWMControllerNotifyMask, 1, @@ -831,26 +829,24 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) pWinPos = (LPWINDOWPOS) lParam; if (!(pWinPos->flags & SWP_NOZORDER)) { if (pRLWinPriv->fRestackingNow || pScreenPriv->fRestacking) { -#if CYGMULTIWINDOW_DEBUG winDebug("Win %p is now restacking.\n", pRLWinPriv); -#endif break; } - if (winIsInternalWMRunning(pScreenInfo) || IsRaiseOnClick(pWin)) { -#if CYGMULTIWINDOW_DEBUG + if ( +#ifdef XWIN_MULTIWINDOWINTWM + winIsInternalWMRunning(pScreenInfo) || +#endif + IsRaiseOnClick (pWin)) winDebug("Win %p has WINDOWSWM_RAISE_ON_CLICK.\n", pRLWinPriv); -#endif break; } -#if CYGMULTIWINDOW_DEBUG winDebug("Win %p forbid to change z order (%p).\n", pRLWinPriv, pWinPos->hwndInsertAfter); -#endif pWinPos->flags |= SWP_NOZORDER; } break; @@ -885,14 +881,13 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) } #endif -#if CYGMULTIWINDOW_DEBUG winDebug("\t(%d, %d)\n", (short) LOWORD(lParam), (short) HIWORD(lParam)); -#endif if (!pRLWinPriv->fMovingOrSizing) { +#ifdef XWIN_MULTIWINDOWINTWM if (winIsInternalWMRunning(pScreenInfo)) winAdjustXWindow(pWin, hwnd); - +#endif winMWExtWMMoveXWindow(pWin, (LOWORD(lParam) - wBorderWidth(pWin) - GetSystemMetrics(SM_XVIRTUALSCREEN)), (HIWORD(lParam) - wBorderWidth(pWin) @@ -901,23 +896,22 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) return 0; case WM_SHOWWINDOW: -#if CYGMULTIWINDOW_DEBUG || TRUE winDebug("winMWExtWMWindowProc - WM_SHOWWINDOW - %d ms\n", (unsigned int) GetTickCount()); -#endif + /* Bail out if the window is being hidden */ if (!wParam) return 0; +#ifdef XWIN_MULTIWINDOWINTWM if (!pScreenInfo->fInternalWM) //XXXX return 0; winMWExtWMUpdateWindowDecoration(pRLWinPriv, pScreenInfo); if (winIsInternalWMRunning(pScreenInfo)) { -#if CYGMULTIWINDOW_DEBUG || TRUE winDebug("\tMapWindow\n"); -#endif + /* Tell X to map the window */ MapWindow(pWin, wClient(pWin)); @@ -934,6 +928,9 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) if (fWMMsgInitialized) winSendMessageToWM(pScreenPriv->pWMInfo, &wmMsg); } +#else + return 0; +#endif break; case WM_SIZING: @@ -944,7 +941,7 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) case WM_WINDOWPOSCHANGED: { pWinPos = (LPWINDOWPOS) lParam; -#if CYGMULTIWINDOW_DEBUG +#ifdef _DEBUG winDebug("winMWExtWMWindowProc - WM_WINDOWPOSCHANGED\n"); winDebug("\tflags: %s%s%s%s%s%s%s%s%s%s%s%s\n", (pWinPos->flags & SWP_DRAWFRAME) ? "SWP_DRAWFRAME " : "", @@ -969,20 +966,19 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) if (pWinPos->flags & SWP_HIDEWINDOW) break; +#ifdef XWIN_MULTIWINDOWINTWM /* Reorder if window z order was changed */ if ((pScreenPriv != NULL) && !(pWinPos->flags & SWP_NOZORDER) && !(pWinPos->flags & SWP_SHOWWINDOW) && winIsInternalWMRunning(pScreenInfo)) { -#if CYGMULTIWINDOW_DEBUG winDebug("\twindow z order was changed\n"); -#endif + if (pWinPos->hwndInsertAfter == HWND_TOP || pWinPos->hwndInsertAfter == HWND_TOPMOST || pWinPos->hwndInsertAfter == HWND_NOTOPMOST) { -#if CYGMULTIWINDOW_DEBUG winDebug("\traise to top\n"); -#endif + /* Raise the window to the top in Z order */ wmMsg.msg = WM_WM_RAISE; if (fWMMsgInitialized) @@ -1012,9 +1008,8 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) /* If this is top of X windows in Windows stack, raise it in X stack. */ if (hWndAbove == NULL) { -#if CYGMULTIWINDOW_DEBUG winDebug("\traise to top\n"); -#endif + /* Raise the window to the top in Z order */ wmMsg.msg = WM_WM_RAISE; if (fWMMsgInitialized) @@ -1023,18 +1018,19 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) } #endif } +#endif if (!(pWinPos->flags & SWP_NOSIZE)) { if (IsIconic(hwnd)) { -#if CYGMULTIWINDOW_DEBUG winDebug("\tIconic -> MINIMIZED\n"); -#endif +#ifdef XWIN_MULTIWINDOWINTWM if (winIsInternalWMRunning(pScreenInfo)) { /* Raise the window to the top in Z order */ wmMsg.msg = WM_WM_LOWER; if (fWMMsgInitialized) winSendMessageToWM(pScreenPriv->pWMInfo, &wmMsg); } +#endif winWindowsWMSendEvent(WindowsWMControllerNotify, WindowsWMControllerNotifyMask, 1, @@ -1042,9 +1038,8 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) pWin->drawable.id, 0, 0, 0, 0); } else if (IsZoomed(hwnd)) { -#if CYGMULTIWINDOW_DEBUG winDebug("\tZoomed -> MAXIMIZED\n"); -#endif + winWindowsWMSendEvent(WindowsWMControllerNotify, WindowsWMControllerNotifyMask, 1, @@ -1052,9 +1047,8 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) pWin->drawable.id, 0, 0, 0, 0); } else { -#if CYGMULTIWINDOW_DEBUG winDebug("\tnone -> RESTORED\n"); -#endif + winWindowsWMSendEvent(WindowsWMControllerNotify, WindowsWMControllerNotifyMask, 1, @@ -1071,12 +1065,12 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) if (!(pWinPos->flags & SWP_NOMOVE) && !(pWinPos->flags & SWP_NOSIZE)) { -#if CYGMULTIWINDOW_DEBUG winDebug("\tmove & resize\n"); -#endif + +#ifdef XWIN_MULTIWINDOWINTWM if (winIsInternalWMRunning(pScreenInfo)) winAdjustXWindow(pWin, hwnd); - +#endif winMWExtWMMoveResizeXWindow(pWin, rcClient.left - wBorderWidth(pWin) @@ -1094,12 +1088,11 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) wBorderWidth(pWin) * 2); } else if (!(pWinPos->flags & SWP_NOMOVE)) { -#if CYGMULTIWINDOW_DEBUG winDebug("\tmove\n"); -#endif +#ifdef XWIN_MULTIWINDOWINTWM if (winIsInternalWMRunning(pScreenInfo)) winAdjustXWindow(pWin, hwnd); - +#endif winMWExtWMMoveResizeXWindow(pWin, rcClient.left - wBorderWidth(pWin) @@ -1117,12 +1110,12 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) wBorderWidth(pWin) * 2); } else if (!(pWinPos->flags & SWP_NOMOVE)) { -#if CYGMULTIWINDOW_DEBUG winDebug("\tmove\n"); -#endif + +#ifdef XWIN_MULTIWINDOWINTWM if (winIsInternalWMRunning(pScreenInfo)) winAdjustXWindow(pWin, hwnd); - +#endif winMWExtWMMoveXWindow(pWin, rcClient.left - wBorderWidth(pWin) - GetSystemMetrics(SM_XVIRTUALSCREEN), @@ -1131,12 +1124,11 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) GetSystemMetrics(SM_YVIRTUALSCREEN)); } else if (!(pWinPos->flags & SWP_NOSIZE)) { -#if CYGMULTIWINDOW_DEBUG winDebug("\tresize\n"); -#endif +#ifdef XWIN_MULTIWINDOWINTWM if (winIsInternalWMRunning(pScreenInfo)) winAdjustXWindow(pWin, hwnd); - +#endif winMWExtWMResizeXWindow(pWin, rcClient.right - rcClient.left - wBorderWidth(pWin) * 2, @@ -1146,37 +1138,34 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) } } } -#if CYGMULTIWINDOW_DEBUG winDebug("winMWExtWMWindowProc - WM_WINDOWPOSCHANGED - done.\n"); -#endif + return 0; case WM_SIZE: /* see dix/window.c */ /* FIXME: Maximize/Restore? */ -#if CYGMULTIWINDOW_DEBUG winDebug("winMWExtWMWindowProc - WM_SIZE - %d ms\n", (unsigned int) GetTickCount()); -#endif -#if CYGMULTIWINDOW_DEBUG + winDebug("\t(%d, %d) %d\n", (short) LOWORD(lParam), (short) HIWORD(lParam), g_fNoConfigureWindow); -#endif if (g_fNoConfigureWindow) break; /* Branch on type of resizing occurring */ switch (wParam) { case SIZE_MINIMIZED: -#if CYGMULTIWINDOW_DEBUG winDebug("\tSIZE_MINIMIZED\n"); -#endif + +#ifdef XWIN_MULTIWINDOWINTWM if (winIsInternalWMRunning(pScreenInfo)) { /* Raise the window to the top in Z order */ wmMsg.msg = WM_WM_LOWER; if (fWMMsgInitialized) winSendMessageToWM(pScreenPriv->pWMInfo, &wmMsg); } +#endif winWindowsWMSendEvent(WindowsWMControllerNotify, WindowsWMControllerNotifyMask, 1, @@ -1186,9 +1175,8 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) break; case SIZE_RESTORED: -#if CYGMULTIWINDOW_DEBUG winDebug("\tSIZE_RESTORED\n"); -#endif + winWindowsWMSendEvent(WindowsWMControllerNotify, WindowsWMControllerNotifyMask, 1, @@ -1212,9 +1200,10 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) /* Perform the resize and notify the X client */ if (!pRLWinPriv->fMovingOrSizing) { +#ifdef XWIN_MULTIWINDOWINTWM if (winIsInternalWMRunning(pScreenInfo)) winAdjustXWindow(pWin, hwnd); - +#endif winMWExtWMResizeXWindow(pWin, (short) LOWORD(lParam) - wBorderWidth(pWin) * 2, (short) HIWORD(lParam) @@ -1229,9 +1218,11 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) #endif if (wParam) { if (winIsInternalWMRunning(pScreenInfo)) { +#ifdef XWIN_MULTIWINDOWINTWM } else { } +#endif winWindowsWMSendEvent(WindowsWMActivationNotify, WindowsWMActivationNotifyMask, 1, @@ -1256,26 +1247,26 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) break; case WM_ENTERSIZEMOVE: -#if CYGMULTIWINDOW_DEBUG winDebug("winMWExtWMWindowProc - WM_ENTERSIZEMOVE - %d ms\n", (unsigned int) GetTickCount()); -#endif + pRLWinPriv->fMovingOrSizing = TRUE; break; case WM_EXITSIZEMOVE: -#if CYGMULTIWINDOW_DEBUG winDebug("winMWExtWMWindowProc - WM_EXITSIZEMOVE - %d ms\n", (unsigned int) GetTickCount()); -#endif + pRLWinPriv->fMovingOrSizing = FALSE; GetClientRect(hwnd, &rcClient); MapWindowPoints(hwnd, HWND_DESKTOP, (LPPOINT) &rcClient, 2); +#ifdef XWIN_MULTIWINDOWINTWM if (winIsInternalWMRunning(pScreenInfo)) winAdjustXWindow(pWin, hwnd); +#endif winMWExtWMMoveResizeXWindow(pWin, rcClient.left - wBorderWidth(pWin) - GetSystemMetrics(SM_XVIRTUALSCREEN), @@ -1288,11 +1279,11 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) break; case WM_MANAGE: - ErrorF("winMWExtWMWindowProc - WM_MANAGE\n"); + winDebug ("winMWExtWMWindowProc - WM_MANAGE\n"); break; case WM_UNMANAGE: - ErrorF("winMWExtWMWindowProc - WM_UNMANAGE\n"); + winDebug ("winMWExtWMWindowProc - WM_UNMANAGE\n"); break; default: |