Selaa lähdekoodia

Merge pull request #59568 from Sauermann/fix-focus-out-notification

Send a focus-out notification when opening a Window Manager Popup
Rémi Verschelde 3 vuotta sitten
vanhempi
commit
dc4a5b2d5d
1 muutettua tiedostoa jossa 8 lisäystä ja 0 poistoa
  1. 8 0
      scene/main/window.cpp

+ 8 - 0
scene/main/window.cpp

@@ -1101,6 +1101,14 @@ void Window::popup_centered_ratio(float p_ratio) {
 void Window::popup(const Rect2i &p_screen_rect) {
 void Window::popup(const Rect2i &p_screen_rect) {
 	emit_signal(SNAME("about_to_popup"));
 	emit_signal(SNAME("about_to_popup"));
 
 
+	if (!_get_embedder() && get_flag(FLAG_POPUP)) {
+		// Send a focus-out notification when opening a Window Manager Popup.
+		SceneTree *scene_tree = get_tree();
+		if (scene_tree) {
+			scene_tree->notify_group("_viewports", NOTIFICATION_WM_WINDOW_FOCUS_OUT);
+		}
+	}
+
 	// Update window size to calculate the actual window size based on contents minimum size and minimum size.
 	// Update window size to calculate the actual window size based on contents minimum size and minimum size.
 	_update_window_size();
 	_update_window_size();