From aa16a3bf9d579ed858490d2bd1765df6d9cef5aa Mon Sep 17 00:00:00 2001 From: Ben Brandt Date: Mon, 11 May 2026 17:31:25 +0200 Subject: [PATCH] gpui_macos: Handle non-number font smoothing defaults (#56398) It seems there are cases where this isn't a number somehow (ZED-7N8), so added a more defensive check Release Notes: - N/A --- crates/gpui_macos/src/text_system.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/gpui_macos/src/text_system.rs b/crates/gpui_macos/src/text_system.rs index 80145f706e..2808e535ad 100644 --- a/crates/gpui_macos/src/text_system.rs +++ b/crates/gpui_macos/src/text_system.rs @@ -4,7 +4,7 @@ use collections::HashMap; use core_foundation::{ array::{CFArray, CFArrayRef}, attributed_string::CFMutableAttributedString, - base::{CFRange, TCFType}, + base::{CFRange, CFType, TCFType}, number::CFNumber, string::CFString, }; @@ -243,7 +243,10 @@ fn font_smoothing_allowed_by_user() -> bool { if value_ref.is_null() { return true; } - let number = unsafe { CFNumber::wrap_under_create_rule(value_ref as _) }; + let value = unsafe { CFType::wrap_under_create_rule(value_ref) }; + let Some(number) = value.downcast_into::() else { + return true; + }; // Only an explicit value of `0` means that font smoothing is disabled. number.to_i64() != Some(0) })