From 1bc8536f0eec7dac1ac08ab9a27760b8d75d937d Mon Sep 17 00:00:00 2001 From: Randall Luecke Date: Wed, 19 May 2010 21:15:50 -0500 Subject: [PATCH] Row indexes which no longer exist are removed from selectedRowIndexes. --- AppKit/CPTableView.j | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 3f89552c2..2ef0dde9b 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -1500,8 +1500,19 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; - (void)noteNumberOfRowsChanged { + var oldNumberOfRows = _numberOfRows; + _numberOfRows = [_dataSource numberOfRowsInTableView:self]; + // remove row indexes from the selection if they no longer exist + var hangingSelections = oldNumberOfRows - _numberOfRows; + + if (hangingSelections > 0) + { + [_selectedRowIndexes removeIndexesInRange:CPMakeRange(_numberOfRows, hangingSelections)]; + [self _noteSelectionDidChange]; + } + [self tile]; }