mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 20:01:11 +00:00
Corrected decoding and added a RETAIN in [initWithSerializedRepresentation:]
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@6859 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
915afeecce
commit
d75ab49709
1 changed files with 39 additions and 6 deletions
|
@ -154,7 +154,7 @@
|
|||
NSFileWrapper *wrapper = [NSUnarchiver unarchiveObjectWithData: data];
|
||||
|
||||
RELEASE(self);
|
||||
return wrapper;
|
||||
return RETAIN(wrapper);
|
||||
}
|
||||
|
||||
- (void) dealloc
|
||||
|
@ -532,13 +532,46 @@
|
|||
|
||||
- (id) initWithCoder: (NSCoder*)aDecoder
|
||||
{
|
||||
[aDecoder decodeValueOfObjCType: @encode(GSFileWrapperType) at: &_wrapperType];
|
||||
int wrapperType;
|
||||
NSString *preferredFilename;
|
||||
NSDictionary *fileAttributes;
|
||||
id wrapperData;
|
||||
NSImage *iconImage;
|
||||
|
||||
[aDecoder decodeValueOfObjCType: @encode(GSFileWrapperType) at: &wrapperType];
|
||||
// Dont restore the file name
|
||||
_preferredFilename = [aDecoder decodeObject];
|
||||
_fileAttributes = [aDecoder decodeObject];
|
||||
_wrapperData = [aDecoder decodeObject];
|
||||
_iconImage = [aDecoder decodeObject];
|
||||
preferredFilename = [aDecoder decodeObject];
|
||||
fileAttributes = [aDecoder decodeObject];
|
||||
wrapperData = [aDecoder decodeObject];
|
||||
iconImage = [aDecoder decodeObject];
|
||||
|
||||
switch (wrapperType)
|
||||
{
|
||||
case GSFileWrapperRegularFileType:
|
||||
self = [self initRegularFileWithContents: wrapperData];
|
||||
break;
|
||||
case GSFileWrapperSymbolicLinkType:
|
||||
self = [self initSymbolicLinkWithDestination: wrapperData];
|
||||
break;
|
||||
case GSFileWrapperDirectoryType:
|
||||
self = [self initDirectoryWithFileWrappers: wrapperData];
|
||||
break;
|
||||
}
|
||||
|
||||
if (preferredFilename != nil)
|
||||
{
|
||||
[self setPreferredFilename: preferredFilename];
|
||||
}
|
||||
if (fileAttributes != nil)
|
||||
{
|
||||
[self setFileAttributes: fileAttributes];
|
||||
}
|
||||
if (iconImage != nil)
|
||||
{
|
||||
[self setIcon: iconImage];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
|
Loading…
Reference in a new issue