Index: NSMatrix.m =================================================================== --- NSMatrix.m (revision 24288) +++ NSMatrix.m (working copy) @@ -1098,7 +1098,8 @@ if ([aCell state] || isHighlighted) { - [aCell setState: NSOffState]; + if (_mode != NSTrackModeMatrix) + [aCell setState: NSOffState]; if (isHighlighted) { @@ -1135,7 +1136,9 @@ { if (_selectedCells[i][j]) { - [_cells[i][j] setState: NSOffState]; + if (_mode != NSTrackModeMatrix) + [_cells[i][j] setState: NSOffState]; + _selectedCells[i][j] = NO; } } @@ -1172,7 +1175,10 @@ && [_cells[i][j] isEditable] == NO) { _selectedCell = _cells[i][j]; - [_selectedCell setState: NSOnState]; + + if (_mode != NSTrackModeMatrix) + [_selectedCell setState: NSOnState]; + _selectedCells[i][j] = YES; _selectedRow = i; @@ -1211,7 +1217,8 @@ _selectedColumn = column; _selectedCells[row][column] = YES; - [_selectedCell setState: NSOnState]; + if (_mode != NSTrackModeMatrix) + [_selectedCell setState: NSOnState]; if (_mode == NSListModeMatrix) [aCell setHighlighted: YES]; @@ -3356,7 +3363,8 @@ BOOL selectCell = NO; int h, i, lastDottedRow, lastDottedColumn; - if (_mode == NSRadioModeMatrix || _mode == NSListModeMatrix) + if (_mode == NSRadioModeMatrix || _mode == NSListModeMatrix + || _mode == NSTrackModeMatrix) selectCell = YES; if (_dottedRow == -1 || _dottedColumn == -1)