Fix the tests

Kirill Bulatov and Antonio created

Co-authored-by: Antonio <antonio@zed.dev>

Change summary

crates/gpui2/src/app.rs | 96 +++++++++++++++++++++---------------------
1 file changed, 48 insertions(+), 48 deletions(-)

Detailed changes

crates/gpui2/src/app.rs 🔗

@@ -569,60 +569,60 @@ impl AppContext {
     /// such as notifying observers, emitting events, etc. Effects can themselves
     /// cause effects, so we continue looping until all effects are processed.
     fn flush_effects(&mut self) {
-        while !self.pending_effects.is_empty() {
-            loop {
-                self.release_dropped_entities();
-                self.release_dropped_focus_handles();
-                if let Some(effect) = self.pending_effects.pop_front() {
-                    match effect {
-                        Effect::Notify { emitter } => {
-                            self.apply_notify_effect(emitter);
-                        }
-                        Effect::Emit {
-                            emitter,
-                            event_type,
-                            event,
-                        } => self.apply_emit_effect(emitter, event_type, event),
-                        Effect::FocusChanged {
-                            window_handle,
-                            focused,
-                        } => {
-                            self.apply_focus_changed_effect(window_handle, focused);
-                        }
-                        Effect::Refresh => {
-                            self.apply_refresh_effect();
-                        }
-                        Effect::NotifyGlobalObservers { global_type } => {
-                            self.apply_notify_global_observers_effect(global_type);
-                        }
-                        Effect::Defer { callback } => {
-                            self.apply_defer_effect(callback);
+        loop {
+            self.release_dropped_entities();
+            self.release_dropped_focus_handles();
+            if let Some(effect) = self.pending_effects.pop_front() {
+                match effect {
+                    Effect::Notify { emitter } => {
+                        self.apply_notify_effect(emitter);
+                    }
+                    Effect::Emit {
+                        emitter,
+                        event_type,
+                        event,
+                    } => self.apply_emit_effect(emitter, event_type, event),
+                    Effect::FocusChanged {
+                        window_handle,
+                        focused,
+                    } => {
+                        self.apply_focus_changed_effect(window_handle, focused);
+                    }
+                    Effect::Refresh => {
+                        self.apply_refresh_effect();
+                    }
+                    Effect::NotifyGlobalObservers { global_type } => {
+                        self.apply_notify_global_observers_effect(global_type);
+                    }
+                    Effect::Defer { callback } => {
+                        self.apply_defer_effect(callback);
+                    }
+                }
+            } else {
+                for window in self.windows.values() {
+                    if let Some(window) = window.as_ref() {
+                        if window.dirty {
+                            window.platform_window.invalidate();
                         }
                     }
-                } else {
-                    break;
                 }
-            }
 
-            for window in self.windows.values() {
-                if let Some(window) = window.as_ref() {
-                    if window.dirty {
-                        window.platform_window.invalidate();
-                    }
+                #[cfg(any(test, feature = "test-support"))]
+                for window in self
+                    .windows
+                    .values()
+                    .filter_map(|window| {
+                        let window = window.as_ref()?;
+                        window.dirty.then_some(window.handle)
+                    })
+                    .collect::<Vec<_>>()
+                {
+                    self.update_window(window, |_, cx| cx.draw()).unwrap();
                 }
-            }
 
-            #[cfg(any(test, feature = "test-support"))]
-            for window in self
-                .windows
-                .values()
-                .filter_map(|window| {
-                    let window = window.as_ref()?;
-                    window.dirty.then_some(window.handle)
-                })
-                .collect::<Vec<_>>()
-            {
-                self.update_window(window, |_, cx| cx.draw()).unwrap();
+                if self.pending_effects.is_empty() {
+                    break;
+                }
             }
         }
     }