Correct memory issue with NSClassSwapper, encode control view in the action cell, add comments.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23249 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
gcasa 2006-08-11 05:53:28 +00:00
parent 54219e0d9b
commit 90e17f25f2
5 changed files with 30 additions and 16 deletions

View file

@ -1,3 +1,13 @@
2006-08-11 01:50-EDT Gregory John Casamento <greg_casamento@yahoo.com>
* Source/GSNibCompatibility.m: Assign copies of the parameters to
setClassName: and setExtension:.
* Source/NSActionCell.m: Encode contro view, since it may be needed
by IB in encodeWithCoder:
* Source/NSButtonCell.m: Unarchive controlview for debugging purposes
in initWithCoder:
* Source/NSCell.m: Addecomment.
2006-08-10 Fred Kiefer <FredKiefer@gmx.de> 2006-08-10 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSControl.m (mouseDown:): Simplified code to no longer * Source/NSControl.m (mouseDown:): Simplified code to no longer

View file

@ -582,7 +582,7 @@ static BOOL _isInInterfaceBuilder = NO;
@implementation NSCustomObject @implementation NSCustomObject
- (void) setClassName: (NSString *)name - (void) setClassName: (NSString *)name
{ {
ASSIGN(_className, name); ASSIGNCOPY(_className, name);
} }
- (NSString *)className - (NSString *)className
@ -592,7 +592,7 @@ static BOOL _isInInterfaceBuilder = NO;
- (void) setExtension: (NSString *)name - (void) setExtension: (NSString *)name
{ {
ASSIGN(_extension, name); ASSIGNCOPY(_extension, name);
} }
- (NSString *)extension - (NSString *)extension
@ -672,7 +672,7 @@ static BOOL _isInInterfaceBuilder = NO;
@implementation NSCustomView @implementation NSCustomView
- (void) setClassName: (NSString *)name - (void) setClassName: (NSString *)name
{ {
ASSIGN(_className, name); ASSIGNCOPY(_className, name);
} }
- (NSString *)className - (NSString *)className
@ -681,7 +681,7 @@ static BOOL _isInInterfaceBuilder = NO;
} }
- (void) setExtension: (NSString *)ext; - (void) setExtension: (NSString *)ext;
{ {
ASSIGN(_extension, ext); ASSIGNCOPY(_extension, ext);
} }
- (NSString *)extension - (NSString *)extension
@ -728,7 +728,8 @@ static BOOL _isInInterfaceBuilder = NO;
{ {
if([coder allowsKeyedCoding]) if([coder allowsKeyedCoding])
{ {
_className = [coder decodeObjectForKey: @"NSClassName"]; ASSIGN(_className, [coder decodeObjectForKey: @"NSClassName"]);
ASSIGN(_extension, [coder decodeObjectForKey: @"NSExtension"]);
} }
else else
{ {
@ -742,9 +743,11 @@ static BOOL _isInInterfaceBuilder = NO;
- (void) encodeWithCoder: (NSCoder *)coder - (void) encodeWithCoder: (NSCoder *)coder
{ {
[super encodeWithCoder: coder];
if([coder allowsKeyedCoding]) if([coder allowsKeyedCoding])
{ {
[coder encodeObject: (id)_className forKey: @"NSClassName"]; [coder encodeObject: _className forKey: @"NSClassName"];
[coder encodeObject: _extension forKey: @"NSExtension"];
} }
else else
{ {
@ -758,7 +761,7 @@ static BOOL _isInInterfaceBuilder = NO;
@implementation NSCustomResource @implementation NSCustomResource
- (void) setClassName: (NSString *)className - (void) setClassName: (NSString *)className
{ {
ASSIGN(_className, className); ASSIGNCOPY(_className, className);
} }
- (NSString *)className - (NSString *)className
@ -768,7 +771,7 @@ static BOOL _isInInterfaceBuilder = NO;
- (void) setResourceName: (NSString *)resourceName - (void) setResourceName: (NSString *)resourceName
{ {
ASSIGN(_resourceName, resourceName); ASSIGNCOPY(_resourceName, resourceName);
} }
- (NSString *)resourceName - (NSString *)resourceName
@ -893,7 +896,7 @@ static BOOL _isInInterfaceBuilder = NO;
- (void) setClassName: (NSString *)className - (void) setClassName: (NSString *)className
{ {
ASSIGN(_className, className); ASSIGNCOPY(_className, className);
} }
- (NSString *)className - (NSString *)className
@ -903,7 +906,7 @@ static BOOL _isInInterfaceBuilder = NO;
- (void) setOriginalClassName: (NSString *)className - (void) setOriginalClassName: (NSString *)className
{ {
ASSIGN(_originalClassName, className); ASSIGNCOPY(_originalClassName, className);
} }
- (NSString *)originalClassName - (NSString *)originalClassName
@ -990,9 +993,8 @@ static BOOL _isInInterfaceBuilder = NO;
{ {
if([coder allowsKeyedCoding]) if([coder allowsKeyedCoding])
{ {
NSString *originalClassName = NSStringFromClass(_template); [coder encodeObject: _originalClassName forKey: @"NSOriginalClassName"];
[coder encodeObject: (id)_className forKey: @"NSClassName"]; [coder encodeObject: _className forKey: @"NSClassName"];
[coder encodeObject: (id)originalClassName forKey: @"NSOriginalClassName"];
[_template encodeWithCoder: coder]; // encode the actual object; [_template encodeWithCoder: coder]; // encode the actual object;
} }
else else
@ -1222,8 +1224,8 @@ static BOOL _isInInterfaceBuilder = NO;
[coder encodeObject: (id) oidsKeys forKey: @"NSOidsKeys"]; [coder encodeObject: (id) oidsKeys forKey: @"NSOidsKeys"];
[coder encodeObject: (id) oidsValues forKey: @"NSOidsValues"]; [coder encodeObject: (id) oidsValues forKey: @"NSOidsValues"];
[coder encodeObject: (id) _connections forKey: @"NSConnections"]; [coder encodeObject: (id) _connections forKey: @"NSConnections"];
[coder encodeConditionalObject: (id) _fontManager forKey: @"NSFontManager"]; [coder encodeObject: (id) _fontManager forKey: @"NSFontManager"];
[coder encodeConditionalObject: (id) _framework forKey: @"NSFramework"]; [coder encodeObject: (id) _framework forKey: @"NSFramework"];
[coder encodeObject: (id) _visibleWindows forKey: @"NSVisibleWindows"]; [coder encodeObject: (id) _visibleWindows forKey: @"NSVisibleWindows"];
[coder encodeInt: _nextOid forKey: @"NSNextOid"]; [coder encodeInt: _nextOid forKey: @"NSNextOid"];
[coder encodeConditionalObject: (id) _root forKey: @"NSRoot"]; [coder encodeConditionalObject: (id) _root forKey: @"NSRoot"];

View file

@ -290,6 +290,7 @@ static Class controlClass;
[aCoder encodeInt: [self tag] forKey: @"NSTag"]; [aCoder encodeInt: [self tag] forKey: @"NSTag"];
[aCoder encodeObject: [self target] forKey: @"NSTarget"]; [aCoder encodeObject: [self target] forKey: @"NSTarget"];
[aCoder encodeObject: NSStringFromSelector([self action]) forKey: @"NSAction"]; [aCoder encodeObject: NSStringFromSelector([self action]) forKey: @"NSAction"];
[aCoder encodeObject: _control_view forKey: @"NSControlView"];
} }
else else
{ {

View file

@ -1520,7 +1520,7 @@ typedef struct _GSButtonCellFlags
{ {
int delay = 0; int delay = 0;
int interval = 0; int interval = 0;
// NSControl *control = [aDecoder decodeObjectForKey: @"NSControlView"]; NSControl *control = [aDecoder decodeObjectForKey: @"NSControlView"];
if ([aDecoder containsValueForKey: @"NSKeyEquivalent"]) if ([aDecoder containsValueForKey: @"NSKeyEquivalent"])
{ {

View file

@ -2184,6 +2184,7 @@ static NSColor *shadowCol;
unsigned long cFlags = 0; unsigned long cFlags = 0;
unsigned int cFlags2 = 0; unsigned int cFlags2 = 0;
// encode contents
[aCoder encodeObject: _contents forKey: @"NSContents"]; [aCoder encodeObject: _contents forKey: @"NSContents"];
// flags // flags