浏览代码

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 年之前
父节点
当前提交
9cea653457
共有 1 个文件被更改,包括 4 次插入0 次删除
  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;