On Dec 4, 2011, at 5:49 PM, Jerry Krinock wrote: > At one point, running in Mac OS 10.7, one of my invocations gets invoked, and > … > > #0 0x913761fa in NSBeep > #1 0x9b6f0e1d in __invoking___ > #2 0x9b6f0d59 in -[NSInvocation invoke] > #3 0x976458ea in __NSFireDelayedPerform > #4 0x9b6b0996 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ > … > > Everything works perfectly except that the stupid beep is annoying. > > The invocation targets NSApplication with selector > -beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:. I > looked at it in gdb using "Mac OS X Debugging Magic". The target, selector, > and arguments all look fine. > > The sheet appears before the beep. The method -[NSInvocation invoke] shows > 92 lines of assembly code. It looks like, indeed, the actual invocation is > done first, and then at line 41 it calls this __invoking__ thing, which is 48 > lines of assembly code, and for some reason at line 15 it calls NSBeep(). > > Does anyone have any idea why -[NSInvocation invoke] might call NSBeep()?
NSBeep() is being called by -beginSheet:modalForWindow:... . Compiler optimization ("tail-call optimization") means that the -beginSheet:... frame is absent from the stack trace. -beginSheet:... calls NSBeep() in some error case. I don't understand the code myself, but I'd guess that it's complaining because there's already a sheet open on that window. Perhaps you're calling -beginSheet: twice, and the first call works and the second call just beeps. You should file a bug report asking for -beginSheet:... to log a real error message or throw an exception instead of beeping. -- Greg Parker gpar...@apple.com Runtime Wrangler _______________________________________________ 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