Преглед на файлове

Unset last focused window when it is destroyed.

Pāvels Nadtočajevs преди 8 месеца
родител
ревизия
73faa509ea
променени са 2 файла, в които са добавени 8 реда и са изтрити 0 реда
  1. 4 0
      platform/linuxbsd/x11/display_server_x11.cpp
  2. 4 0
      platform/macos/display_server_macos.mm

+ 4 - 0
platform/linuxbsd/x11/display_server_x11.cpp

@@ -1844,6 +1844,10 @@ void DisplayServerX11::delete_sub_window(WindowID p_id) {
 	window_set_drop_files_callback(Callable(), p_id);
 	window_set_drop_files_callback(Callable(), p_id);
 
 
 	windows.erase(p_id);
 	windows.erase(p_id);
+
+	if (last_focused_window == p_id) {
+		last_focused_window = INVALID_WINDOW_ID;
+	}
 }
 }
 
 
 int64_t DisplayServerX11::window_get_native_handle(HandleType p_handle_type, WindowID p_window) const {
 int64_t DisplayServerX11::window_get_native_handle(HandleType p_handle_type, WindowID p_window) const {

+ 4 - 0
platform/macos/display_server_macos.mm

@@ -733,6 +733,10 @@ void DisplayServerMacOS::window_destroy(WindowID p_window) {
 	}
 	}
 #endif
 #endif
 	windows.erase(p_window);
 	windows.erase(p_window);
+
+	if (last_focused_window == p_window) {
+		last_focused_window = INVALID_WINDOW_ID;
+	}
 	update_presentation_mode();
 	update_presentation_mode();
 }
 }