[macOS, X11] Fix duplicate close requests.

This commit is contained in:
bruvzg 2024-05-28 09:41:04 +03:00
parent be56cab58c
commit 1a40cda95e
No known key found for this signature in database
GPG key ID: 7960FCF39844EC38
2 changed files with 8 additions and 2 deletions

View file

@ -4206,7 +4206,10 @@ void DisplayServerX11::popup_close(WindowID p_window) {
WindowID win_id = E->get();
popup_list.erase(E);
_send_window_event(windows[win_id], DisplayServerX11::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], DisplayServerX11::WINDOW_EVENT_CLOSE_REQUEST);
}
E = F;
}
}

View file

@ -3448,7 +3448,10 @@ void DisplayServerMacOS::popup_close(WindowID p_window) {
WindowID win_id = E->get();
popup_list.erase(E);
send_window_event(windows[win_id], DisplayServerMacOS::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], DisplayServerMacOS::WINDOW_EVENT_CLOSE_REQUEST);
}
E = F;
}
if (!was_empty && popup_list.is_empty()) {