瀏覽代碼

[Windows] Fix fullscreen mode detection on window move/resize.

bruvzg 3 年之前
父節點
當前提交
8bc837453b
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      platform/windows/display_server_windows.cpp

+ 6 - 1
platform/windows/display_server_windows.cpp

@@ -2710,12 +2710,17 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
 
 
 		case WM_WINDOWPOSCHANGED: {
 		case WM_WINDOWPOSCHANGED: {
 			Rect2i window_client_rect;
 			Rect2i window_client_rect;
+			Rect2i window_rect;
 			{
 			{
 				RECT rect;
 				RECT rect;
 				GetClientRect(hWnd, &rect);
 				GetClientRect(hWnd, &rect);
 				ClientToScreen(hWnd, (POINT *)&rect.left);
 				ClientToScreen(hWnd, (POINT *)&rect.left);
 				ClientToScreen(hWnd, (POINT *)&rect.right);
 				ClientToScreen(hWnd, (POINT *)&rect.right);
 				window_client_rect = Rect2i(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top);
 				window_client_rect = Rect2i(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top);
+
+				RECT wrect;
+				GetWindowRect(hWnd, &wrect);
+				window_rect = Rect2i(wrect.left, wrect.top, wrect.right - wrect.left, wrect.bottom - wrect.top);
 			}
 			}
 
 
 			WINDOWPOS *window_pos_params = (WINDOWPOS *)lParam;
 			WINDOWPOS *window_pos_params = (WINDOWPOS *)lParam;
@@ -2735,7 +2740,7 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
 					window.minimized = true;
 					window.minimized = true;
 				} else if (IsZoomed(hWnd)) {
 				} else if (IsZoomed(hWnd)) {
 					window.maximized = true;
 					window.maximized = true;
-				} else if (window_client_rect.position == screen_position && window_client_rect.size == screen_size) {
+				} else if (window_rect.position == screen_position && window_rect.size == screen_size) {
 					window.fullscreen = true;
 					window.fullscreen = true;
 				}
 				}