



We finally know what is causing the icon to outlive its creating menu/menuitem - the outstanding img request.

MNativeMenuItem has been destroyed, and its pointer has becomeĬomment on attachment 385200 NsMenuItemIconX::On.() methods, ending with the final (fatal) call You'll then see where mNativeMenuItem is destroyed (in a call to Sometime after nsMenuItemIconX::StopFrame() is called on it. NsMenuItemIconX object, which would (normally) only get released
Xgestures mac code#
This is presumablyīecause code called from nsMenuItemIconX::LoadIcon() addrefs the Search on "17D0E320" (the address of the mNativeMenuItem) in the logĪnd you'll see that its nsMenuItemIconX's parent (mMenuObjectĠx17D0FC80) gets destroyed (it's destructor gets called) without theĭestructor for nsMenuItemIcon getting called. MMenuObject 0x17D0FC80, mNativeMenuItem 0x17D0E320 Object in whose nsMenuItemIconX::OnStopFrame() method the crash takes (class nsMenuObjectX) and mNativeMenuItem (class NSMenuItem) of the
Xgestures mac Patch#
Just before the crash, my patch logs the addresses of the mMenuObject Details Here's a crash log made with my debugging patch from comment #7. Last Crashđ507309 seconds before submissionĬPU Info GenuineIntel family 6 model 7 stepping 6Ĭrash ReasonĞXC_BAD_ACCESS / KERN_INVALID_ADDRESSĠ libobjc.A.dylib XUL imgRequestProxy::OnStopFrame mozilla/modules/libpr0n/src/imgRequestProxy.cpp:452Ģ XUL imgRequest::OnStopFrame mozilla/modules/libpr0n/src/imgRequest.cpp:539ģ XUL nsPNGDecoder::EndImageFrame mozilla/modules/libpr0n/decoders/png/nsPNGDecoder.cpp:198Ĥ XUL end_callback mozilla/modules/libpr0n/decoders/png/nsPNGDecoder.cpp:852ĥ XUL MOZ_PNG_push_read_chunk mozilla/modules/libimg/png/pngpread.c:348Ħ XUL MOZ_PNG_process_data mozilla/modules/libimg/png/pngpread.c:35ħ XUL ReadDataOut mozilla/modules/libpr0n/decoders/png/nsPNGDecoder.cpp:335Ĩ XUL nsPipeInputStream::ReadSegments mozilla/xpcom/io/nsPipe3.cpp:799ĩ XUL nsPNGDecoder::WriteFrom mozilla/modules/libpr0n/decoders/png/nsPNGDecoder.cpp:365ġ0 XUL imgRequest::OnDataAvailable mozilla/modules/libpr0n/src/imgRequest.cpp:893ġ1 XUL nsBaseChannel::OnDataAvailable mozilla/netwerk/base/src/nsBaseChannel.cpp:706ġ2 XUL nsInputStreamPump::OnStateTransfer mozilla/netwerk/base/src/nsInputStreamPump.cpp:508ġ3 XUL nsInputStreamPump::OnInputStreamReady mozilla/netwerk/base/src/nsInputStreamPump.cpp:398ġ4 XUL nsInputStreamReadyEvent::Run mozilla/gfx/cairo/libpixman/src/pixman-access-accessors.c:107ġ5 XUL nsThread::ProcessNextEvent mozilla/xpcom/threads/nsThread.cpp:510ġ6 XUL NS_ProcessPendingEvents_P nsThreadUtils.cpp:180ġ7 XUL nsBaseAppShell::NativeEventCallback mozilla/widget/src/xpwidgets/nsBaseAppShell.cpp:121ġ8 XUL nsAppShell::ProcessGeckoEvents mozilla/widget/src/cocoa/nsAppShell.mm:309Ģ3 HIToolbox BlockUntilNextEventMatchingListInModeĢ5 AppKit -Ģ7 XUL nsAppShell::Run mozilla/widget/src/cocoa/nsAppShell.mm:598Ģ8 XUL nsAppStartup::Run mozilla/toolkit/components/startup/src/nsAppStartup.cpp:181Ģ9 XUL XRE_main mozilla/toolkit/xre/nsAppRunner.cpp:3196ģ0 firefox-bin main mozilla/browser/app/nsBrowserApp.cpp:158 Other accessibility-enabled applications can potentially trigger this crash as well.ġ4 years | imgRequestProxy::OnStopFrame(gfxIImageFrame*) Many users have had problems using Firefox in conjunction with xGestures because of this crash. It was originally reported to me by a user of my software, xGestures, as xGestures makes use of this API to trigger menus in other software. There are other ways to reproduce this bug other than using UIElementInspector in case you have difficulty reproducing this crash. UIElementInspector should have successfully retrieved more information about the History menu, and Firefox should have continued running without any interruption. Press command-F7, the hotkey that locks UIElementInspector to the currently displayed UI element Mouse over the "History" menu without clicking it, so that UIElementInspector shows UI information regarding that menu itemĦ. Be sure not to click and open any of Firefox's menus from this point onĥ.
Xgestures mac download#
Download UIElementInspector.app from Apple. When attempting to use this API to get information about Firefox's "History" menu before clicking and interacting with that menu normally, a crash will occur.ġ.
Xgestures mac mac os x#
Mac OS X has an accessibility API that allows other software to get information about and trigger actions for various UI elements on screen, in any application, including menus in the menu bar.
