summaryrefslogtreecommitdiff
path: root/platform/windows
diff options
context:
space:
mode:
authorderammo <817160+derammo@users.noreply.github.com>2022-05-13 08:22:29 -0400
committerderammo <817160+derammo@users.noreply.github.com>2022-05-13 09:30:00 -0400
commit47d0dc8a410f9a69f40db6ce0f65b8493a78d3a4 (patch)
tree2ed2897a285b974c584c8e7a240dae51e435b63b /platform/windows
parent677b63d7656fd0f11e224e0858fcf9479486595d (diff)
popup deferred hide suppressed if reopened
popup no longer tries to close itself a second time popup no longer closes after having been reopened fixed bug in RenameDialog not calling base (by inspection) fixes #59181 fixes #60921 reverts #59287
Diffstat (limited to 'platform/windows')
-rw-r--r--platform/windows/display_server_windows.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp
index 341eb58f9f..baa6db2877 100644
--- a/platform/windows/display_server_windows.cpp
+++ b/platform/windows/display_server_windows.cpp
@@ -2158,7 +2158,10 @@ void DisplayServerWindows::popup_close(WindowID p_window) {
WindowID win_id = E->get();
popup_list.erase(E);
- _send_window_event(windows[win_id], DisplayServerWindows::WINDOW_EVENT_CLOSE_REQUEST);
+ if (win_id != p_window) {
+ // Only request close on related windows, not this window. We are already processing it.
+ _send_window_event(windows[win_id], DisplayServerWindows::WINDOW_EVENT_CLOSE_REQUEST);
+ }
E = F;
}
}
@@ -2173,6 +2176,7 @@ LRESULT DisplayServerWindows::MouseProc(int code, WPARAM wParam, LPARAM lParam)
case WM_NCRBUTTONDOWN:
case WM_NCMBUTTONDOWN:
case WM_LBUTTONDOWN:
+ case WM_RBUTTONDOWN:
case WM_MBUTTONDOWN: {
MOUSEHOOKSTRUCT *ms = (MOUSEHOOKSTRUCT *)lParam;
Point2i pos = Point2i(ms->pt.x, ms->pt.y);