From d76d9bcfadaff8b31a77ae9ae83cb09f97db24d8 Mon Sep 17 00:00:00 2001 From: Randall Luecke Date: Fri, 5 Mar 2010 03:37:19 -0500 Subject: [PATCH] Fixed bugs with drag and drop in tableview after outlineview drag and drop merge. --- AppKit/CPTableView.j | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 9b27819b0..86a4e7a33 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -2741,9 +2741,9 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; var draggedTypes = [self registeredDraggedTypes], count = [draggedTypes count], - i; + i = 0; - for (i = 0; i < count; i++) + for (; i < count; i++) { if ([[[sender draggingPasteboard] types] containsObject:[draggedTypes objectAtIndex: i]]) return [self _validateDrop:sender proposedRow:row proposedDropOperation:dropOperation]; @@ -2824,6 +2824,9 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; if (ABS(CPRectGetMinY(lowerRect) - dragPoint.y) < ABS(dragPoint.y - CPRectGetMinY(rect))) row = lowerRow; + + if (row >= [self numberOfRows]) + row = [self numberOfRows]; return row; } @@ -2846,6 +2849,9 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; - (CPRect)_rectForDropHighlightViewBetweenUpperRow:(int)theUpperRowIndex andLowerRow:(int)theLowerRowIndex offset:(CPPoint)theOffset { + if (theLowerRowIndex > [self numberOfRows]) + theLowerRowIndex = [self numberOfRows]; + return [self rectOfRow:theLowerRowIndex]; }