diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index d820c2e1e..0c5b23a28 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -358,10 +358,26 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal return [[self tableView] allowsColumnReordering] && ABS(aPoint.x - _mouseDownLocation.x) >= 10.0; } +- (CPRect)_headerRectOfLastVisibleColumn +{ + var tableColumns = [[self tableView] tableColumns], + columnIndex = [tableColumns count]; + + while (columnIndex--) + { + var tableColumn = [tableColumns objectAtIndex:columnIndex]; + + if (![tableColumn isHidden]) + return [self headerRectOfColumn:columnIndex]; + } + + return nil; +} + - (void)_constrainDragView:(CPView)theDragView at:(CPPoint)aPoint { var tableColumns = [[self tableView] tableColumns], - lastColumnRect = [self headerRectOfColumn:[tableColumns indexOfObjectIdenticalTo:[tableColumns lastObject]]], + lastColumnRect = [self _headerRectOfLastVisibleColumn]; activeColumnRect = [self headerRectOfColumn:_activeColumn]; dragWindow = [theDragView window], frame = [dragWindow frame];