mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 16:05:44 -07:00
Ah, no, _that_ fixes the malloc problem. I'd forgotten that midend.c
already takes care of managing the allocation of game presets, so there's no need for me to introduce scary ObjC machinery to do so in the frontend. [originally from svn r5178]
This commit is contained in:
22
macosx.m
22
macosx.m
@ -120,40 +120,19 @@ NSMenu *typemenu;
|
||||
@interface DataMenuItem : NSMenuItem
|
||||
{
|
||||
void *payload;
|
||||
int payload_free;
|
||||
}
|
||||
- (void)setPayload:(void *)d;
|
||||
- (void)setPayloadFree:(BOOL)yesno;
|
||||
- (void *)getPayload;
|
||||
@end
|
||||
@implementation DataMenuItem
|
||||
- (id)initWithTitle:(NSString *)title
|
||||
action:(SEL)act
|
||||
keyEquivalent:(NSString *)key
|
||||
{
|
||||
id ret = [super initWithTitle:title action:act keyEquivalent:key];
|
||||
payload = NULL;
|
||||
payload_free = NO;
|
||||
return ret;
|
||||
}
|
||||
- (void)setPayload:(void *)d
|
||||
{
|
||||
payload = d;
|
||||
}
|
||||
- (void)setPayloadFree:(BOOL)yesno
|
||||
{
|
||||
payload_free = yesno;
|
||||
}
|
||||
- (void *)getPayload
|
||||
{
|
||||
return payload;
|
||||
}
|
||||
- (void)dealloc
|
||||
{
|
||||
if (payload_free)
|
||||
sfree(payload);
|
||||
[super dealloc];
|
||||
}
|
||||
@end
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
@ -489,7 +468,6 @@ struct frontend {
|
||||
[item setTarget:self];
|
||||
[item setAction:@selector(presetGame:)];
|
||||
[item setPayload:params];
|
||||
[item setPayloadFree:YES];
|
||||
|
||||
[typemenu insertItem:item atIndex:0];
|
||||
}
|
||||
|
Reference in New Issue
Block a user