Guard against infinite loop in focus handling

Conrad Irwin created

Change summary

crates/gpui/src/window.rs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Detailed changes

crates/gpui/src/window.rs 🔗

@@ -1429,9 +1429,6 @@ impl<'a> WindowContext<'a> {
             self.platform.set_cursor_style(cursor_style);
         }
 
-        self.window.drawing = false;
-        ELEMENT_ARENA.with_borrow_mut(|element_arena| element_arena.clear());
-
         if previous_focus_path != current_focus_path
             || previous_window_active != current_window_active
         {
@@ -1460,6 +1457,9 @@ impl<'a> WindowContext<'a> {
                 .retain(&(), |listener| listener(&event, self));
         }
 
+        self.window.drawing = false;
+        ELEMENT_ARENA.with_borrow_mut(|element_arena| element_arena.clear());
+
         scene
     }