--- /home/GNUstep/dwnld/gnustep/core/gui/Source/NSTableView.m Mon Jan 29 14:35:47 2001 +++ /home/GNUstep/dwnld/gnustep/core/gui/Source/NSTableView.m.mod Mon Jan 29 14:45:23 2001 @@ -1452,7 +1452,14 @@ { SEL selector; - if ([self isRowSelected: _clickedRow] == YES) + unsigned int modifiers; + modifiers = [theEvent modifierFlags]; + + if (([self isRowSelected: _clickedRow] == YES) + && (modifiers & (NSShiftKeyMask)) ) + /* + * Unselecting requires the shift key to be pressed + */ { if (([_selectedRows count] == 1) && (_allowsEmptySelection == NO)) return; @@ -1477,11 +1484,8 @@ } else // row is not selected { - unsigned int modifiers; BOOL newSelection; - modifiers = [theEvent modifierFlags]; - if ((modifiers & (NSShiftKeyMask | NSAlternateKeyMask)) && _allowsMultipleSelection) newSelection = NO; @@ -1917,7 +1921,7 @@ { int i = 0; - while ((aPoint.x > _columnOrigins[i]) && (i < _numberOfColumns)) + while ((aPoint.x >= _columnOrigins[i]) && (i < _numberOfColumns)) { i++; }