Fix 9263 (#13521)

Mikayla Maki created

Fix #9263

Release Notes:

- N/A

Change summary

crates/gpui/src/platform/linux/x11/client.rs | 4 ++++
1 file changed, 4 insertions(+)

Detailed changes

crates/gpui/src/platform/linux/x11/client.rs 🔗

@@ -1167,6 +1167,10 @@ impl LinuxClient for X11Client {
 // Adatpted from:
 // https://docs.rs/winit/0.29.11/src/winit/platform_impl/linux/x11/monitor.rs.html#103-111
 pub fn mode_refresh_rate(mode: &randr::ModeInfo) -> Duration {
+    if mode.dot_clock == 0 || mode.htotal == 0 || mode.vtotal == 0 {
+        return Duration::from_millis(16);
+    }
+
     let millihertz = mode.dot_clock as u64 * 1_000 / (mode.htotal as u64 * mode.vtotal as u64);
     let micros = 1_000_000_000 / millihertz;
     log::info!("Refreshing at {} micros", micros);