Hey Aaron, It looks like this is a race condition with removing/adding an item with the same name too quickly. I was able to get around this bug by setting a timeout before redrawing the menu items (I'm working on a similar play/pause menu).
I hope the menu items API gets a little more robust, with separators and the ability to set toggle state (the check mark to the left) or even a little icon. But in the meantime, at least the app doesn't crash :) -ian On Jul 26, 6:02 pm, Aaron Zinman <[email protected]> wrote: > The userscript in question lives > here:http://userscripts.org/scripts/review/54392 > > I'm having issues where my dock menu item script doesn't seem to work > right. I keep getting exceptions, sometimes they just spit out on the > console and it doesn't matter, other times it crashes Fluid. Here is > a typical example: > > 2009-07-26 20:41:24.174 FluidInstance[3257:10b] Exception raised: > --------------------------- > Mask: 0x00000004 > Name: NSUncaughtSystemExceptionException > Reason: Uncaught system exception: signal 11 > Stack Trace: > NSExceptionHandlerUncaughtSignalHandler (in ExceptionHandling) + 65 > _sigtramp (in libSystem.B.dylib) + 43 > 0xffffffff > -[TODJavaScriptFluidObject menuItemClick:] (in FluidInstance) + 113 > -[NSApplication sendAction:to:from:] (in AppKit) + 112 > -[NSMenu performActionForItemAtIndex:] (in AppKit) + 493 > _NSCoreDockMessageReceive (in AppKit) + 975 > DockCallback(unsigned long, unsigned int, void*, void*) (in HIToolbox) > + 2127 > _DCXDoMenuCommand (in HIServices) + 71 > _XDoMenuCommand (in HIServices) + 138 > mshMIGPerform (in HIServices) + 517 > CFRunLoopRunSpecific (in CoreFoundation) + 3896 > CFRunLoopRunInMode (in CoreFoundation) + 88 > RunCurrentEventLoopInMode (in HIToolbox) + 283 > ReceiveNextEventCommon (in HIToolbox) + 374 > BlockUntilNextEventMatchingListInMode (in HIToolbox) + 106 > _DPSNextEvent (in AppKit) + 657 > -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in > AppKit) + 128 > -[NSApplication run] (in AppKit) + 795 > -[OAApplication run] (in OmniAppKit) + 580 > NSApplicationMain (in AppKit) + 574 > start (in FluidInstance) + 54 > 0x1 > > --------------------------- > Segmentation fault > > I believe it has to do with pointers to functions that get garbage > collected. I keep trying to re-write this with more things global and > what not. > > Here's an exception that doesn't quit and still does the right thing: > > 2009-07-26 20:40:07.930 FluidInstance[3250:10b] Exception raised: > --------------------------- > Mask: 0x00000040 > Name: NSInvalidArgumentException > Reason: *** -[NSCFString _rootObject]: unrecognized selector sent to > instance 0xf146290 > Stack Trace: > NSExceptionHandlerExceptionRaiser (in ExceptionHandling) + 185 > objc_exception_throw (in libobjc.A.dylib) + 40 > CFRunLoopRunSpecific (in CoreFoundation) + 4355 > CFRunLoopRunInMode (in CoreFoundation) + 88 > RunCurrentEventLoopInMode (in HIToolbox) + 283 > ReceiveNextEventCommon (in HIToolbox) + 374 > BlockUntilNextEventMatchingListInMode (in HIToolbox) + 106 > _DPSNextEvent (in AppKit) + 657 > -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in > AppKit) + 128 > -[NSApplication run] (in AppKit) + 795 > -[OAApplication run] (in OmniAppKit) + 580 > NSApplicationMain (in AppKit) + 574 > start (in FluidInstance) + 54 > 0x1 > > --------------------------- > 2009-07-26 20:40:12.318 FluidInstance[3250:10b] *** -[NSCFString > _rootObject]: unrecognized selector sent to instance 0xf147200 > > I have no idea if this is my fault or Fluid's. I mean, Fluid def > shouldn't crash because of a userscript issue, but perhaps I'm still > doing something stupid as well. Any suggestions? > > Thanks, > Aaron --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "fluidapp" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/fluidapp?hl=en -~----------~----~----~----~------~----~------~--~---
