Author: mlytwyn
Date: Fri Feb 17 21:11:39 2017
New Revision: 40347
URL: http://svn.gna.org/viewcvs/gnustep?rev=40347&view=rev
Log:
Only invoke 'setObjectValue' from NSTableView if new value id diff from
current/old value
Modified:
libs/gui/branches/gnustep_testplant_branch/Source/NSTableView.m
Modified: libs/gui/branches/gnustep_testplant_branch/Source/NSTableView.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/gui/branches/gnustep_testplant_branch/Source/NSTableView.m?rev=40347&r1=40346&r2=40347&view=diff
==============================================================================
--- libs/gui/branches/gnustep_testplant_branch/Source/NSTableView.m
(original)
+++ libs/gui/branches/gnustep_testplant_branch/Source/NSTableView.m Fri Feb
17 21:11:39 2017
@@ -3322,21 +3322,24 @@
{
NSString *error;
- if ([formatter getObjectValue: &newObjectValue
- forString: string
- errorDescription: &error] == YES)
+ if ([formatter getObjectValue: &newObjectValue
+ forString: string
+ errorDescription: &error] == YES)
{
- [_editedCell setObjectValue: newObjectValue];
-
- if (_dataSource_editable)
+ if ([[_editedCell objectValue] isEqual: newObjectValue] == NO)
{
- NSTableColumn *tb;
-
- tb = [_tableColumns objectAtIndex: _editedColumn];
+ [_editedCell setObjectValue: newObjectValue];
- [self _setObjectValue: newObjectValue
- forTableColumn: tb
- row: _editedRow];
+ if (_dataSource_editable)
+ {
+ NSTableColumn *tb;
+
+ tb = [_tableColumns objectAtIndex: _editedColumn];
+
+ [self _setObjectValue: newObjectValue
+ forTableColumn: tb
+ row: _editedRow];
+ }
}
return;
}
@@ -3364,22 +3367,25 @@
// Generate an attributed string per Cocoa behavior...
id object = string;
- if ([_editedCell allowsEditingTextAttributes])
- {
- NSTextView *textView = (NSTextView*)_textObject;
- object = AUTORELEASE([[NSAttributedString alloc]
initWithAttributedString:[textView textStorage]]);
- }
-
- [_editedCell setObjectValue: object];
-
- if (_dataSource_editable)
+ if ([[_editedCell objectValue] isEqual: object] == NO)
{
- // Need to pass string or attributedString based on cell
settings...
- NSTableColumn *tb = [_tableColumns objectAtIndex:
_editedColumn];
+ if ([_editedCell allowsEditingTextAttributes])
+ {
+ NSTextView *textView = (NSTextView*)_textObject;
+ object = AUTORELEASE([[NSAttributedString alloc]
initWithAttributedString:[textView textStorage]]);
+ }
- [self _setObjectValue: object // newObjectValue
- forTableColumn: tb
- row: _editedRow];
+ [_editedCell setObjectValue: object];
+
+ if (_dataSource_editable)
+ {
+ // Need to pass string or attributedString based on cell
settings...
+ NSTableColumn *tb = [_tableColumns objectAtIndex:
_editedColumn];
+
+ [self _setObjectValue: object // newObjectValue
+ forTableColumn: tb
+ row: _editedRow];
+ }
}
}
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs