• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Toolbar customizer crashes on Leopard when using menu delegate
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Toolbar customizer crashes on Leopard when using menu delegate


  • Subject: Toolbar customizer crashes on Leopard when using menu delegate
  • From: Markus Spoettl <email@hidden>
  • Date: Tue, 23 Mar 2010 22:02:17 -0400

Hello,

  I've been running into a strange crash for a toolbar customizer that happens only on Leopard and works fine on Snow Leopard.

My toolbar contains an item hosting a NSPopUpButton which has a menu. That menu contains regular items and a sub-menu which has its delegate assigned to the File's Owner because it's dynamic and needs to be rebuilt each time it is displayed. I have found out that the mere fact the delegate is set causes a crash when the toolbar customizer is created (through "Customize Toolbar…").

Ultimately the whole thing goes down badly inside AppKit (I'm pasting the stack below if someone wants to take a look at it). In the process of digging into this issue I also found that setting the delegate causes the entire nib to be loaded again - probably to resolve the delegate, kind of recursive.

Well, I just thought this would be interesting for the list, since it's working completely fine on Snow Leopard but not on Leopard (Deployment Target of this project is 10.5). Unless of course this was foreseeable in which case I'd like to hear about it.

Regards
Markus


Thread 0 Crashed:
0   libobjc.A.dylib               	0x9173e699 objc_msgSend + 41
1   com.apple.AppKit              	0x947cb9fa -[NSMenu encodeWithCoder:] + 444
2   com.apple.Foundation          	0x9526138d _encodeObject + 621
3   com.apple.AppKit              	0x947cd08f -[NSMenuItem encodeWithCoder:] + 1563
4   com.apple.Foundation          	0x9526138d _encodeObject + 621
5   com.apple.Foundation          	0x952d1bdd -[NSKeyedArchiver _encodeArrayOfObjects:forKey:] + 541
6   com.apple.Foundation          	0x952815a7 -[NSArray(NSArray) encodeWithCoder:] + 615
7   com.apple.Foundation          	0x9526138d _encodeObject + 621
8   com.apple.AppKit              	0x947cb916 -[NSMenu encodeWithCoder:] + 216
9   com.apple.Foundation          	0x9526138d _encodeObject + 621
10  com.apple.AppKit              	0x9481e547 -[NSPopUpButtonCell encodeWithCoder:] + 269
11  com.apple.Foundation          	0x9526138d _encodeObject + 621
12  com.apple.AppKit              	0x94503809 -[NSControl encodeWithCoder:] + 349
13  com.apple.Foundation          	0x9526138d _encodeObject + 621
14  com.apple.Foundation          	0x95260b08 +[NSKeyedArchiver archivedDataWithRootObject:] + 184
15  com.apple.AppKit              	0x948f91b9 -[NSToolbarItem _copyOfCustomView] + 47
16  com.apple.AppKit              	0x948f9278 -[NSToolbarItem copyWithZone:] + 141
17  com.apple.CoreFoundation      	0x934e2f9a -[NSObject copy] + 42
18  com.apple.AppKit              	0x9449585a -[NSToolbar _newItemFromItemIdentifier:requireImmediateLoad:willBeInsertedIntoToolbar:] + 306
19  com.apple.AppKit              	0x94495649 -[NSToolbar _insertNewItemWithItemIdentifier:atIndex:notifyDelegate:notifyView:notifyFamilyAndUpdateDefaults:] + 86
20  com.apple.AppKit              	0x944ee904 -[NSToolbar _appendNewItemWithItemIdentifier:notifyDelegate:notifyView:notifyFamilyAndUpdateDefaults:] + 104
21  com.apple.AppKit              	0x94497227 -[NSToolbar _setCurrentItemsToItemIdentifiers:notifyDelegate:notifyView:notifyFamilyAndUpdateDefaults:] + 336
22  com.apple.AppKit              	0x948f18eb -[NSToolbar _loadInitialItemIdentifiers:requireImmediateLoad:] + 138
23  com.apple.AppKit              	0x948f7e93 -[NSToolbarConfigPanel _loadDefaultSetImageRep] + 861
24  com.apple.AppKit              	0x948f6d6b -[NSToolbarConfigPanel _loadData] + 500
25  com.apple.AppKit              	0x948f674d -[NSToolbarConfigPanel initForToolbar:withWidth:] + 269
26  com.apple.AppKit              	0x948f1e45 -[NSToolbar _runCustomizationPanel] + 214
27  com.apple.AppKit              	0x943d7e8f -[NSApplication sendAction:to:from:] + 112
28  com.apple.AppKit              	0x94486b64 -[NSMenu performActionForItemAtIndex:] + 493
29  com.apple.AppKit              	0x94486869 -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 220
30  com.apple.AppKit              	0x944634ba AppKitMenuEventHandler + 6608
31  com.apple.HIToolbox           	0x93e0813d DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 1181
32  com.apple.HIToolbox           	0x93e0757b SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 405
33  com.apple.HIToolbox           	0x93e23ecc SendEventToEventTarget + 52
34  com.apple.HIToolbox           	0x93e581e7 SendHICommandEvent(unsigned long, HICommand const*, unsigned long, unsigned long, unsigned char, OpaqueEventTargetRef*, OpaqueEventTargetRef*, OpaqueEventRef**) + 411
35  com.apple.HIToolbox           	0x93e7e959 SendMenuCommandWithContextAndModifiers + 59
36  com.apple.HIToolbox           	0x93e7e914 SendMenuItemSelectedEvent + 134
37  com.apple.HIToolbox           	0x93e7e82a FinishMenuSelection(MenuData*, MenuData*, MenuResult*, MenuResult*, unsigned long, unsigned long, unsigned long, unsigned char) + 162
38  com.apple.HIToolbox           	0x93eceb31 PopUpMenuSelectCore(MenuData*, Point, double, Point, unsigned short, unsigned int, Rect const*, unsigned short, unsigned long, Rect const*, Rect const*, __CFString const*, OpaqueMenuRef**, unsigned short*) + 1763
39  com.apple.HIToolbox           	0x93ece3fb _HandlePopUpMenuSelection7 + 627
40  com.apple.AppKit              	0x9454f19b _NSPopUpCarbonMenu3 + 3081
41  com.apple.AppKit              	0x9454e588 _NSPopUpCarbonMenu2 + 155
42  com.apple.AppKit              	0x9454e4e9 _NSPopUpCarbonMenu1 + 82
43  com.apple.AppKit              	0x9454e449 -[NSCarbonMenuImpl _popUpContextMenu:withEvent:forView:withFont:] + 237
44  com.apple.AppKit              	0x9454e282 -[NSMenu _popUpContextMenu:withEvent:forView:withFont:] + 285
45  com.apple.AppKit              	0x9454e15f -[NSMenu _popUpContextMenu:withEvent:forView:] + 63
46  com.apple.AppKit              	0x9454e11a -[NSMenu _popUpMenuWithEvent:forView:] + 52
47  com.apple.AppKit              	0x943d5731 -[NSWindow sendEvent:] + 8511
48  com.apple.AppKit              	0x943a16a5 -[NSApplication sendEvent:] + 2939
49  com.apple.AppKit              	0x942fefe7 -[NSApplication run] + 867
50  com.apple.AppKit              	0x942cc1d8 NSApplicationMain + 574
51  com.my.app    	0x00007d59 main + 30
52  com.my.app    	0x000025ae start + 54
--
__________________________________________
Markus Spoettl

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Toolbar customizer crashes on Leopard when using menu delegate
      • From: Peter Ammon <email@hidden>
    • Re: Toolbar customizer crashes on Leopard when using menu delegate
      • From: Markus Spoettl <email@hidden>
  • Prev by Date: Re: How to hide new objects in a NSTableView?
  • Next by Date: Re: Trouble forking my project
  • Previous by thread: Re: Trouble forking my project
  • Next by thread: Re: Toolbar customizer crashes on Leopard when using menu delegate
  • Index(es):
    • Date
    • Thread