Mercurial > dwindows
comparison mac/dw.m @ 1376:52bbb1acce61
Don't release the menu item when destroying it on Mac... causes crashes.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Tue, 22 Nov 2011 22:20:39 +0000 |
parents | 611893219ba9 |
children | a54720b10821 |
comparison
equal
deleted
inserted
replaced
1375:611893219ba9 | 1376:52bbb1acce61 |
---|---|
7263 NSMenuItem *menuitem = (NSMenuItem *)[menu itemWithTag:itemid]; | 7263 NSMenuItem *menuitem = (NSMenuItem *)[menu itemWithTag:itemid]; |
7264 | 7264 |
7265 if(menuitem != nil) | 7265 if(menuitem != nil) |
7266 { | 7266 { |
7267 [menu removeItem:menuitem]; | 7267 [menu removeItem:menuitem]; |
7268 [menuitem release]; | |
7269 return DW_ERROR_NONE; | 7268 return DW_ERROR_NONE; |
7270 } | 7269 } |
7271 return DW_ERROR_UNKNOWN; | 7270 return DW_ERROR_UNKNOWN; |
7272 } | 7271 } |
7273 | 7272 |
8019 /* Handle removing menu items from menus */ | 8018 /* Handle removing menu items from menus */ |
8020 else if([ object isKindOfClass:[NSMenuItem class]]) | 8019 else if([ object isKindOfClass:[NSMenuItem class]]) |
8021 { | 8020 { |
8022 NSMenu *menu = [object menu]; | 8021 NSMenu *menu = [object menu]; |
8023 | 8022 |
8024 if(menu) | 8023 [menu removeItem:object]; |
8025 { | |
8026 [menu removeItem:object]; | |
8027 [object release]; | |
8028 } | |
8029 } | 8024 } |
8030 /* Handle destroying a control or box */ | 8025 /* Handle destroying a control or box */ |
8031 else if([object isKindOfClass:[DWBox class]] || [object isKindOfClass:[DWGroupBox class]] || [object isKindOfClass:[NSControl class]]) | 8026 else if([object isKindOfClass:[DWBox class]] || [object isKindOfClass:[DWGroupBox class]] || [object isKindOfClass:[NSControl class]]) |
8032 { | 8027 { |
8033 DWBox *parent = (DWBox *)[object superview]; | 8028 DWBox *parent = (DWBox *)[object superview]; |