From cfff603508d8d785eb9f7157e324c9772d55849f Mon Sep 17 00:00:00 2001 From: daboe01 Date: Tue, 16 Jun 2026 19:43:45 +0200 Subject: [PATCH] Fixed: CPInvalidArgumentException in CPTextField -setFont: when handling composite theme states --- AppKit/CPTextField.j | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/AppKit/CPTextField.j b/AppKit/CPTextField.j index 4dc2fb37b..37fea460b 100644 --- a/AppKit/CPTextField.j +++ b/AppKit/CPTextField.j @@ -2024,7 +2024,9 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); [self setValue:aFont forThemeAttribute:@"font" inState:CPThemeStateBezeled]; [self setValue:aFont forThemeAttribute:@"font" inState:CPThemeStateBordered]; [self setValue:aFont forThemeAttribute:@"font" inState:CPTextFieldStateRounded]; - [self setValue:aFont forThemeAttribute:@"font" inState:[CPTextFieldStateRounded, CPThemeStateEditing]]; + + // Use CPThemeState() function to create composite states instead of array literals + [self setValue:aFont forThemeAttribute:@"font" inState:CPThemeState(CPTextFieldStateRounded, CPThemeStateEditing)]; // Apply across all standard control size states [self setValue:aFont forThemeAttribute:@"font" inState:CPThemeStateControlSizeRegular]; @@ -2033,8 +2035,8 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); // Apply to table data view states (ensuring Interface Builder-style lists respect the font) [self setValue:aFont forThemeAttribute:@"font" inState:CPThemeStateTableDataView]; - [self setValue:aFont forThemeAttribute:@"font" inState:[CPThemeStateTableDataView, CPThemeStateSelectedDataView]]; - [self setValue:aFont forThemeAttribute:@"font" inState:[CPThemeStateTableDataView, CPThemeStateSelectedDataView, CPThemeStateFirstResponder, CPThemeStateKeyWindow]]; + [self setValue:aFont forThemeAttribute:@"font" inState:CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView)]; + [self setValue:aFont forThemeAttribute:@"font" inState:CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView, CPThemeStateFirstResponder, CPThemeStateKeyWindow)]; [self layoutSubviews]; }