summaryrefslogtreecommitdiff
path: root/platform/windows
diff options
context:
space:
mode:
authorMarkus Sauermann <6299227+Sauermann@users.noreply.github.com>2022-11-01 18:47:10 +0100
committerMarkus Sauermann <6299227+Sauermann@users.noreply.github.com>2022-11-01 18:58:46 +0100
commit9cea6534573dacb1aa3bb5944d7c0ddac5c48f80 (patch)
treeec1c0cd07b3f88104d80f16323640046061c700b /platform/windows
parente6751549cf7247965d1744b8c464f5e901006f21 (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.
Diffstat (limited to 'platform/windows')
-rw-r--r--platform/windows/display_server_windows.cpp4
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;