Don't move traffic lights while fullscreen

Greg Morenz created

Fixes #4712, or at least works around it. As discussed in the issue,
setting the buttons frames while fullscreen can cause them to render
in the wrong location. This fixes that by simply not moving them when
fullscreen.

Change summary

crates/gpui/src/platform/mac/window.rs | 6 ++++++
1 file changed, 6 insertions(+)

Detailed changes

crates/gpui/src/platform/mac/window.rs 🔗

@@ -348,6 +348,12 @@ struct MacWindowState {
 impl MacWindowState {
     fn move_traffic_light(&self) {
         if let Some(traffic_light_position) = self.traffic_light_position {
+            if self.is_fullscreen() {
+                // Moving traffic lights while fullscreen doesn't work,
+                // see https://github.com/zed-industries/zed/issues/4712
+                return;
+            }
+
             let titlebar_height = self.titlebar_height();
 
             unsafe {