On Dec 4, 2011, at 5:49 PM, Jerry Krinock <je...@ieee.org> 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()?
Tail-call elimination is probably eliding a bunch of stack frames that would reveal why NSBeep() is being called. NSInvocation doesn't wrap plain C function calls. --Kyle Sluder_______________________________________________ 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