hw/xwin: Stop assuming WS_EX_APPWINDOW style in WM_SHOWWINDOW
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
This commit is contained in:
		
							parent
							
								
									56e94403f8
								
							
						
					
					
						commit
						d6dcde7a03
					
				| 
						 | 
				
			
			@ -870,41 +870,36 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
 | 
			
		|||
 | 
			
		||||
        /* */
 | 
			
		||||
        if (!pWin->overrideRedirect) {
 | 
			
		||||
            HWND zstyle = HWND_NOTOPMOST;
 | 
			
		||||
 | 
			
		||||
            /* Flag that this window needs to be made active when clicked */
 | 
			
		||||
            SetProp(hwnd, WIN_NEEDMANAGE_PROP, (HANDLE) 1);
 | 
			
		||||
 | 
			
		||||
            if (!(GetWindowLongPtr(hwnd, GWL_EXSTYLE) & WS_EX_APPWINDOW)) {
 | 
			
		||||
                HWND zstyle = HWND_NOTOPMOST;
 | 
			
		||||
            /* Set the transient style flags */
 | 
			
		||||
            if (GetParent(hwnd))
 | 
			
		||||
                SetWindowLongPtr(hwnd, GWL_STYLE,
 | 
			
		||||
                                 WS_POPUP | WS_OVERLAPPED | WS_SYSMENU |
 | 
			
		||||
                                 WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
 | 
			
		||||
            /* Set the window standard style flags */
 | 
			
		||||
            else
 | 
			
		||||
                SetWindowLongPtr(hwnd, GWL_STYLE,
 | 
			
		||||
                                 (WS_POPUP | WS_OVERLAPPEDWINDOW |
 | 
			
		||||
                                  WS_CLIPCHILDREN | WS_CLIPSIBLINGS)
 | 
			
		||||
                                 & ~WS_CAPTION & ~WS_SIZEBOX);
 | 
			
		||||
 | 
			
		||||
                /* Set the window extended style flags */
 | 
			
		||||
                SetWindowLongPtr(hwnd, GWL_EXSTYLE, WS_EX_APPWINDOW);
 | 
			
		||||
            winUpdateWindowPosition(hwnd, &zstyle);
 | 
			
		||||
 | 
			
		||||
                /* Set the transient style flags */
 | 
			
		||||
                if (GetParent(hwnd))
 | 
			
		||||
                    SetWindowLongPtr(hwnd, GWL_STYLE,
 | 
			
		||||
                                     WS_POPUP | WS_OVERLAPPED | WS_SYSMENU |
 | 
			
		||||
                                     WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
 | 
			
		||||
                /* Set the window standard style flags */
 | 
			
		||||
                else
 | 
			
		||||
                    SetWindowLongPtr(hwnd, GWL_STYLE,
 | 
			
		||||
                                     (WS_POPUP | WS_OVERLAPPEDWINDOW |
 | 
			
		||||
                                      WS_CLIPCHILDREN | WS_CLIPSIBLINGS)
 | 
			
		||||
                                     & ~WS_CAPTION & ~WS_SIZEBOX);
 | 
			
		||||
            {
 | 
			
		||||
                WinXWMHints hints;
 | 
			
		||||
 | 
			
		||||
                winUpdateWindowPosition(hwnd, &zstyle);
 | 
			
		||||
 | 
			
		||||
                {
 | 
			
		||||
                    WinXWMHints hints;
 | 
			
		||||
 | 
			
		||||
                    if (winMultiWindowGetWMHints(pWin, &hints)) {
 | 
			
		||||
                        /*
 | 
			
		||||
                           Give the window focus, unless it has an InputHint
 | 
			
		||||
                           which is FALSE (this is used by e.g. glean to
 | 
			
		||||
                           avoid every test window grabbing the focus)
 | 
			
		||||
                         */
 | 
			
		||||
                        if (!((hints.flags & InputHint) && (!hints.input))) {
 | 
			
		||||
                            SetForegroundWindow(hwnd);
 | 
			
		||||
                        }
 | 
			
		||||
                if (winMultiWindowGetWMHints(pWin, &hints)) {
 | 
			
		||||
                    /*
 | 
			
		||||
                       Give the window focus, unless it has an InputHint
 | 
			
		||||
                       which is FALSE (this is used by e.g. glean to
 | 
			
		||||
                       avoid every test window grabbing the focus)
 | 
			
		||||
                     */
 | 
			
		||||
                    if (!((hints.flags & InputHint) && (!hints.input))) {
 | 
			
		||||
                        SetForegroundWindow(hwnd);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue