[self computeLineIndex];
// Determine the width of the ruler based on the line count.
- NSUInteger lastElement = lineIndex_.back() + 1;
- NSAttributedString* lastElementString = [self attributedStringForLineNumber:lastElement];
- NSSize boundingSize = [lastElementString size];
- [self setRuleThickness:std::max(kDefaultWidth, boundingSize.width)];
+ if (lineIndex_.empty()) {
+ [self setRuleThickness:kDefaultWidth];
+ } else {
+ NSUInteger lastElement = lineIndex_.back() + 1;
+ NSAttributedString* lastElementString = [self attributedStringForLineNumber:lastElement];
+ NSSize boundingSize = [lastElementString size];
+ [self setRuleThickness:std::max(kDefaultWidth, boundingSize.width)];
+ }
[self setNeedsDisplay:YES];
}
index = NSMaxRange([text lineRangeForRange:NSMakeRange(index, 0)]);
}
+ if (lineIndex_.empty())
+ return;
+
NSUInteger lineEnd, contentEnd;
[text getLineStart:NULL
end:&lineEnd