From 93b0c5a7e51a76e847d419203a0afc87ac5e98b1 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Sun, 20 Nov 2016 21:44:08 +0100 Subject: [PATCH 1/2] fixed: font height was nil under certain circumstances --- AppKit/CPTextView/CPTextView.j | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/AppKit/CPTextView/CPTextView.j b/AppKit/CPTextView/CPTextView.j index 7b42264af..f06a7cc9c 100644 --- a/AppKit/CPTextView/CPTextView.j +++ b/AppKit/CPTextView/CPTextView.j @@ -1959,7 +1959,7 @@ var kDelegateRespondsTo_textShouldBeginEditing - (void)updateInsertionPointStateAndRestartTimer:(BOOL)flag { var caretRect, - numberOfGlyphs= [_layoutManager numberOfCharacters]; + numberOfGlyphs = [_layoutManager numberOfCharacters]; if (_selectionRange.length) [_caret setVisibility:NO]; @@ -1970,7 +1970,7 @@ var kDelegateRespondsTo_textShouldBeginEditing if (!numberOfGlyphs) { - var font = [_typingAttributes objectForKey:CPFontAttributeName]; + var font = [_typingAttributes objectForKey:CPFontAttributeName] || [self font]; caretRect.size.height = [font size]; caretRect.origin.y = ([font ascender] - [font descender]) * 0.5; @@ -1985,9 +1985,7 @@ var kDelegateRespondsTo_textShouldBeginEditing } } else - { caretRect = [_layoutManager boundingRectForGlyphRange:CPMakeRange(_selectionRange.location, 1) inTextContainer:_textContainer]; - } var loc = (_selectionRange.location === numberOfGlyphs && numberOfGlyphs > 0) ? _selectionRange.location - 1 : _selectionRange.location, caretOffset = [_layoutManager _characterOffsetAtLocation:loc], From 329469fe844e20f6e25a606dbb438b9aeafbb2fb Mon Sep 17 00:00:00 2001 From: daboe01 Date: Sun, 20 Nov 2016 22:36:24 +0100 Subject: [PATCH 2/2] fixed: _textContainerOrigin.y was not respected when predicting the cared position in empty textview --- AppKit/CPTextView/CPTextView.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPTextView/CPTextView.j b/AppKit/CPTextView/CPTextView.j index f06a7cc9c..55fbd5b96 100644 --- a/AppKit/CPTextView/CPTextView.j +++ b/AppKit/CPTextView/CPTextView.j @@ -1973,7 +1973,7 @@ var kDelegateRespondsTo_textShouldBeginEditing var font = [_typingAttributes objectForKey:CPFontAttributeName] || [self font]; caretRect.size.height = [font size]; - caretRect.origin.y = ([font ascender] - [font descender]) * 0.5; + caretRect.origin.y = ([font ascender] - [font descender]) * 0.5 + _textContainerOrigin.y; } caretRect.origin.x += caretRect.size.width;