From 524b1df4c983b3eb3e5414d2ca4292b85d893f6e Mon Sep 17 00:00:00 2001 From: daboe01 Date: Fri, 5 Jun 2026 17:38:04 +0200 Subject: [PATCH 1/3] fix font issue --- AppKit/CPTextField.j | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/AppKit/CPTextField.j b/AppKit/CPTextField.j index 7e51b40b4..4dc2fb37b 100644 --- a/AppKit/CPTextField.j +++ b/AppKit/CPTextField.j @@ -2004,6 +2004,41 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); [self _setCSSStyleForInputElement]; } +#pragma mark Overrides + +/*! + Sets the font of the receiver. + + @param aFont - A CPFont object. +*/ +- (void)setFont:(CPFont)aFont +{ + if ([self currentValueForThemeAttribute:@"font"] === aFont) + return; + + // Apply the font to the default/normal state + [self setValue:aFont forThemeAttribute:@"font"]; + + // Apply to standard editing and border states + [self setValue:aFont forThemeAttribute:@"font" inState:CPThemeStateEditing]; + [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]]; + + // Apply across all standard control size states + [self setValue:aFont forThemeAttribute:@"font" inState:CPThemeStateControlSizeRegular]; + [self setValue:aFont forThemeAttribute:@"font" inState:CPThemeStateControlSizeSmall]; + [self setValue:aFont forThemeAttribute:@"font" inState:CPThemeStateControlSizeMini]; + + // 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 layoutSubviews]; +} + - (void)takeValueFromKeyPath:(CPString)aKeyPath ofObjects:(CPArray)objects { var count = objects.length, From c9d3ccdf0d5df2c88bbcdda56ba9529de9f976b1 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Sat, 13 Jun 2026 18:42:34 +0200 Subject: [PATCH 2/3] fixed: top was not applied to style --- AppKit/CPTextView/CPLayoutManager.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPTextView/CPLayoutManager.j b/AppKit/CPTextView/CPLayoutManager.j index fd0accf43..98908f044 100644 --- a/AppKit/CPTextView/CPLayoutManager.j +++ b/AppKit/CPTextView/CPLayoutManager.j @@ -1378,7 +1378,7 @@ var _objectsInRange = function(aList, aRange) if (_runs[i].view) _runs[i].view._frame.origin.y += verticalOffset; - _runs[i].elem.top = (_runs[i].elem.top + verticalOffset) + 'px'; + _runs[i].elem.style.top = parseFloat(_runs[i].elem.style.top + verticalOffset) + 'px'; _runs[i].DOMpatched = YES; } } From c9df6e4d25e978867ca2139e1a8dc469a5a705b4 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Sat, 13 Jun 2026 19:18:12 +0200 Subject: [PATCH 3/3] removed: dead code --- AppKit/CPTextView/CPLayoutManager.j | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/AppKit/CPTextView/CPLayoutManager.j b/AppKit/CPTextView/CPLayoutManager.j index 98908f044..74cd87b40 100644 --- a/AppKit/CPTextView/CPLayoutManager.j +++ b/AppKit/CPTextView/CPLayoutManager.j @@ -1373,12 +1373,11 @@ var _objectsInRange = function(aList, aRange) { _runs[i]._range.location += rangeOffset; - if (verticalOffset && _runs[i].elem) + if (verticalOffset) { if (_runs[i].view) _runs[i].view._frame.origin.y += verticalOffset; - _runs[i].elem.style.top = parseFloat(_runs[i].elem.style.top + verticalOffset) + 'px'; _runs[i].DOMpatched = YES; } }