Browse Source

Fix mouseleave event after drag and drop in different Windows

When dropping in a different window, it is necessary to start tracking
the WM_MOUSELEAVE event again.
Markus Sauermann 2 năm trước cách đây
mục cha
commit
9cea653457
1 tập tin đã thay đổi với 4 bổ sung0 xóa
  1. 4 0
      platform/windows/display_server_windows.cpp

+ 4 - 0
platform/windows/display_server_windows.cpp

@@ -2449,6 +2449,10 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
 				window_mouseover_id = INVALID_WINDOW_ID;
 
 				_send_window_event(windows[window_id], WINDOW_EVENT_MOUSE_EXIT);
+			} else if (window_mouseover_id != INVALID_WINDOW_ID) {
+				// This is reached during drag and drop, after dropping in a different window.
+				// Once-off notification, must call again.
+				track_mouse_leave_event(windows[window_mouseover_id].hWnd);
 			}
 
 		} break;