diff --git a/Source/NSMenu.m b/Source/NSMenu.m index 6b59cf697..46c889b5f 100644 --- a/Source/NSMenu.m +++ b/Source/NSMenu.m @@ -870,9 +870,10 @@ static NSString *NSMenuLocationsKey = @"NSMenuLocations"; NSNotificationCenter *theCenter = [NSNotificationCenter defaultCenter]; NSRect winRect = {{0,0},{20,23}}; - menu_title = [[decoder decodeObject] retain]; - menu_items = [[decoder decodeObject] retain]; - menu_view = [[decoder decodeObject] retain]; + [decoder decodeValueOfObjCType: @encode(id) at: &menu_title]; + [decoder decodeValueOfObjCType: @encode(id) at: &menu_items]; + [decoder decodeValueOfObjCType: @encode(id) at: &menu_view]; + [menu_view setMenu: self]; // Sets notifications up menu_supermenu = [decoder decodeObject]; menu_popb = [decoder decodeObject]; [decoder decodeValueOfObjCType: @encode(BOOL) at: &menu_autoenable]; @@ -1490,7 +1491,7 @@ static NSString *NSMenuLocationsKey = @"NSMenuLocations"; - (void) _releaseCloseButton { - [button retain]; + RETAIN(button); [button removeFromSuperview]; } diff --git a/Source/NSMenuView.m b/Source/NSMenuView.m index bb9b17fde..009830fec 100644 --- a/Source/NSMenuView.m +++ b/Source/NSMenuView.m @@ -109,7 +109,6 @@ static float GSMenuBarHeight = 25.0; // A wild guess. { // Remove this menu view from the old menu list of observers. [theCenter removeObserver: self name: nil object: menuv_menu]; - [menuv_menu release]; } ASSIGN(menuv_menu, menu); @@ -972,8 +971,6 @@ static float GSMenuBarHeight = 25.0; // A wild guess. [encoder encodeObject: menuv_itemCells]; [encoder encodeObject: menuv_font]; - [encoder encodeConditionalObject: menuv_menu]; - [encoder encodeConditionalObject: menuv_items_link]; [encoder encodeValueOfObjCType: @encode(BOOL) at: &menuv_horizontal]; [encoder encodeValueOfObjCType: @encode(float) at: &menuv_horizontalEdgePad]; [encoder encodeValueOfObjCType: @encode(NSSize) at: &cellSize]; @@ -985,8 +982,6 @@ static float GSMenuBarHeight = 25.0; // A wild guess. [decoder decodeValueOfObjCType: @encode(id) at: &menuv_itemCells]; [decoder decodeValueOfObjCType: @encode(id) at: &menuv_font]; - menuv_menu = [decoder decodeObject]; - menuv_items_link = [decoder decodeObject]; [decoder decodeValueOfObjCType: @encode(BOOL) at: &menuv_horizontal]; [decoder decodeValueOfObjCType: @encode(float) at: &menuv_horizontalEdgePad]; [decoder decodeValueOfObjCType: @encode(NSSize) at: &cellSize];