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 (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to