Applyed patch by Matt Rice.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@21269 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
FredKiefer 2005-05-30 17:01:21 +00:00
parent 086c472fd3
commit d7a08d0bdb
3 changed files with 12 additions and 4 deletions

View file

@ -1,3 +1,11 @@
2005-05-30 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSTableView.m (-mouseDown): No longer copy the cell, as
this was causing trouble in GNUmail and Gworkspace.
* Source/NSComboBox.m (-trackMouse:inRect:ofView:untilMouseUp:):
Only mark the cellframe as needing redraw.
Patch by Matt Rice <ratmice@yahoo.com>.
2005-05-27 Adam Fedor <fedor@gnu.org> 2005-05-27 Adam Fedor <fedor@gnu.org>
* Source/NSAffineTransform.m (matrix_multiply): New function. * Source/NSAffineTransform.m (matrix_multiply): New function.

View file

@ -1603,7 +1603,7 @@ static inline NSRect buttonCellFrameFromRect(NSRect cellRect)
if (NSMouseInRect(location, buttonRect, isFlipped)) if (NSMouseInRect(location, buttonRect, isFlipped))
{ {
[_buttonCell setHighlighted: YES]; [_buttonCell setHighlighted: YES];
[controlView setNeedsDisplay: YES]; [controlView setNeedsDisplayInRect: cellFrame];
result = [_buttonCell trackMouse: e result = [_buttonCell trackMouse: e
inRect: buttonRect inRect: buttonRect
@ -1612,7 +1612,7 @@ static inline NSRect buttonCellFrameFromRect(NSRect cellRect)
isMouseUp = result; isMouseUp = result;
[_buttonCell setHighlighted: NO]; [_buttonCell setHighlighted: NO];
[controlView setNeedsDisplay: YES]; [controlView setNeedsDisplayInRect: cellFrame];
} }
if (isMouseUp == NO) if (isMouseUp == NO)

View file

@ -3460,7 +3460,8 @@ static inline float computePeriod(NSPoint mouseLocationWin,
// Prepare the cell // Prepare the cell
tb = [_tableColumns objectAtIndex: _clickedColumn]; tb = [_tableColumns objectAtIndex: _clickedColumn];
cell = [[tb dataCellForRow: _clickedRow] copy]; // It is unclear, if we should copy the cell here, as we do on editing.
cell = [tb dataCellForRow: _clickedRow];
originalValue = RETAIN([self _objectValueForTableColumn:tb row:_clickedRow]); originalValue = RETAIN([self _objectValueForTableColumn:tb row:_clickedRow]);
[cell setObjectValue: originalValue]; [cell setObjectValue: originalValue];
cellFrame = [self frameOfCellAtColumn: _clickedColumn cellFrame = [self frameOfCellAtColumn: _clickedColumn
@ -3497,7 +3498,6 @@ static inline float computePeriod(NSPoint mouseLocationWin,
} }
RELEASE(originalValue); RELEASE(originalValue);
[cell setHighlighted: NO]; [cell setHighlighted: NO];
RELEASE(cell);
[self setNeedsDisplayInRect: cellFrame]; [self setNeedsDisplayInRect: cellFrame];
lastEvent = [NSApp currentEvent]; lastEvent = [NSApp currentEvent];
} }