diff options
author | Alex Merry <dev@randomguy3.me.uk> | 2013-03-25 18:15:11 +0000 |
---|---|---|
committer | Alex Merry <dev@randomguy3.me.uk> | 2013-03-25 18:36:52 +0000 |
commit | 0f969b6ced7e9ebcbe4bc4e17867ff32d67f27bb (patch) | |
tree | 9632ffa948332d8636c15537cb19356781a215ec /tikzit/src/common/GraphElementProperty.m | |
parent | 1b83e14b1f5640881deeb03c1d11df5197746b64 (diff) |
Catch some memory leaks
Memory usage on Linux no longer shoots up after running the tikz parser
a handful of times.
Diffstat (limited to 'tikzit/src/common/GraphElementProperty.m')
-rw-r--r-- | tikzit/src/common/GraphElementProperty.m | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/tikzit/src/common/GraphElementProperty.m b/tikzit/src/common/GraphElementProperty.m index 5a19ace..3cf6632 100644 --- a/tikzit/src/common/GraphElementProperty.m +++ b/tikzit/src/common/GraphElementProperty.m @@ -41,9 +41,7 @@ self = [super init]; if (self) { [self setKey:n]; - [self setValue:nil]; isAtom = YES; - isKeyMatch = NO; } return self; } @@ -53,8 +51,6 @@ if (self) { [self setKey:k]; [self setValue:v]; - isAtom = NO; - isKeyMatch = NO; } return self; } @@ -63,13 +59,17 @@ self = [super init]; if (self) { [self setKey:k]; - [self setValue:nil]; - isAtom = NO; isKeyMatch = YES; } return self; } +- (void) dealloc { + [key release]; + [value release]; + [super dealloc]; +} + - (void)setValue:(NSString *)v { if (value != v) { [value release]; @@ -87,11 +87,12 @@ - (void)setKey:(NSString *)k { - if (k == nil) k = @""; // don't allow nil keys if (key != k) { [key release]; - key = [k retain]; + key = [k copy]; } + if (key == nil) + key = @""; // don't allow nil keys } - (NSString*)key { |