# HG changeset patch # User adrian # Date 1011376864 0 # Node ID 46d76bae9921476b6f5d552e812377daf4d13633 # Parent 3e321319c5bad95519fcf6a667a75b79edb225b8 [xemacs-hg @ 2002-01-18 18:01:02 by adrian] [A5R4] [PATCH] r21-4-6-windows: mswindows_wnd_proc to handle WM_SHOWWINDOW (for virtuawin) <7kqjct4h.fsf@mailto.t-online.de> diff -r 3e321319c5ba -r 46d76bae9921 src/ChangeLog --- a/src/ChangeLog Sat Jan 12 00:19:50 2002 +0000 +++ b/src/ChangeLog Fri Jan 18 18:01:04 2002 +0000 @@ -1,3 +1,9 @@ +2002-01-15 Adrian Aichner + + * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW + to fix problem switching between virtual desktops under virtuawin + virtual window manager. + 2002-01-10 Stephen J. Turnbull * mule-charset.c (global): diff -r 3e321319c5ba -r 46d76bae9921 src/event-msw.c --- a/src/event-msw.c Sat Jan 12 00:19:50 2002 +0000 +++ b/src/event-msw.c Fri Jan 18 18:01:04 2002 +0000 @@ -2646,6 +2646,30 @@ return DefWindowProc (hwnd, message_, wParam, lParam); } + case WM_SHOWWINDOW: + /* + The WM_SHOWWINDOW message is sent to a window when the window + is about to be hidden or shown. + APA: This message is also sent when switching to a virtual + desktop under the virtuawin virtual window manager. + + */ + { + fobj = mswindows_find_frame (hwnd); + frame = XFRAME (fobj); + if (wParam == TRUE) + { + mswindows_enqueue_magic_event (hwnd, XM_MAPFRAME); + FRAME_VISIBLE_P (frame) = 1; + } + else + { + mswindows_enqueue_magic_event (hwnd, XM_UNMAPFRAME); + FRAME_VISIBLE_P (frame) = 0; + } + } + break; + case WM_SIZE: /* We only care about this message if our size has really changed */ if (wParam==SIZE_RESTORED || wParam==SIZE_MAXIMIZED || wParam==SIZE_MINIMIZED)