From 5ea536be9779133eb192ea73f37e4c3445ad0b76 Mon Sep 17 00:00:00 2001 From: Nathan Kinsinger Date: Thu, 25 Feb 2010 21:16:38 -0700 Subject: [PATCH] Fix drawing ref labels on the next tableview column If there are a large number of refs pointing to a commit, then they may be drawn on top of or behind the other columns. This will not show any labels that don't fit. --- PBGitRevisionCell.m | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/PBGitRevisionCell.m b/PBGitRevisionCell.m index 579168b..ae76b68 100644 --- a/PBGitRevisionCell.m +++ b/PBGitRevisionCell.m @@ -149,8 +149,8 @@ static const int ref_spacing = 2; NSRect lastRect = rect; - lastRect.origin.x = round(lastRect.origin.x) - 0.5; - lastRect.origin.y = round(lastRect.origin.y) - 0.5; + lastRect.origin.x = round(lastRect.origin.x) + 0.5; + lastRect.origin.y = round(lastRect.origin.y) + 0.5; for (PBGitRef *ref in self.objectValue.refs) { NSMutableDictionary* attributes = [self attributesForRefLabelSelected:NO]; @@ -161,9 +161,11 @@ newRect.size.height = textSize.height; newRect.origin.y = rect.origin.y + (rect.size.height - newRect.size.height) / 2; - [array addObject:[NSValue valueWithRect:newRect]]; - lastRect = newRect; - lastRect.origin.x += (int)lastRect.size.width + ref_spacing; + if (NSContainsRect(rect, newRect)) { + [array addObject:[NSValue valueWithRect:newRect]]; + lastRect = newRect; + lastRect.origin.x += (int)lastRect.size.width + ref_spacing; + } } return array;