diff options
author | Markus Sauermann <6299227+Sauermann@users.noreply.github.com> | 2022-11-01 18:47:10 +0100 |
---|---|---|
committer | Markus Sauermann <6299227+Sauermann@users.noreply.github.com> | 2022-11-01 18:58:46 +0100 |
commit | 9cea6534573dacb1aa3bb5944d7c0ddac5c48f80 (patch) | |
tree | ec1c0cd07b3f88104d80f16323640046061c700b | |
parent | e6751549cf7247965d1744b8c464f5e901006f21 (diff) |
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.
-rw-r--r-- | platform/windows/display_server_windows.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp index 9d0a2578fb..d6ee712a31 100644 --- a/platform/windows/display_server_windows.cpp +++ b/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; |