Fix T70991: Maximized file browser hides file name bar on Windows
authorJulian Eisel <eiseljulian@gmail.com>
Fri, 15 Nov 2019 15:05:38 +0000 (16:05 +0100)
committerJulian Eisel <eiseljulian@gmail.com>
Fri, 15 Nov 2019 15:34:09 +0000 (16:34 +0100)
`WS_CHILD` is a different kind of child window that what we define as
child window. See http://forums.codeguru.com/showthread.php?491604.

Setting this style flag seems to mess things up a bit in our
configuration. The name bar is actually being overlapped by the Windows
task bar then. Not totally sure why this happens, but I think it's
because windows with the `WS_CHILD` style are positioned relative to the
parent, not the desktop (screen without taskbar). So it uses the full
space available when maximized, which isn't clipped by the taskbar
anymore.

intern/ghost/intern/GHOST_WindowWin32.cpp

index e1c6aa1109cf295dfa5383582ecb2eb58ad1b59f..fd9e0240b1b1d8cdd18272e6c879a1c2abb04b87 100644 (file)
@@ -270,10 +270,8 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system,
   }
 
   if (dialog && parentwindow) {
-    ::SetWindowLongPtr(m_hWnd,
-                       GWL_STYLE,
-                       WS_VISIBLE | WS_CHILD | WS_POPUPWINDOW | WS_CAPTION | WS_MAXIMIZEBOX |
-                           WS_SIZEBOX);
+    ::SetWindowLongPtr(
+        m_hWnd, GWL_STYLE, WS_VISIBLE | WS_POPUPWINDOW | WS_CAPTION | WS_MAXIMIZEBOX | WS_SIZEBOX);
     ::SetWindowLongPtr(m_hWnd, GWLP_HWNDPARENT, (LONG_PTR)m_parentWindowHwnd);
     ::SetWindowPos(
         m_hWnd, 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);