Hang exiting full-screen mode with popover in accessory view
| Originator: | me | ||
| Number: | rdar://13203448 | Date Originated: | 12-Feb-2013 04:12 PM |
| Status: | Duplicate/14250137/Open | Resolved: | |
| Product: | Mac OS X | Product Version: | 10.8.2 (12C3006) |
| Classification: | Crash/Hang/Data Loss | Reproducible: | Always |
12-Feb-2013 04:12 PM Jonathon Mah: We have an app with a window that can go full-screen; when it does, the fullScreenAccessoryView contains a search field (NSSearchField subclass). This search field can have a popover shown relative to it. In full-screen mode with the popover visible and with the search field as the first responder (well, the field editor is the actual first responder), pressing Cmd-Ctrl-F to exit full-screen hangs the app with the following stack trace: #0 0x00007fff5fc01660 in dyld::findMappedRange(unsigned long) () #1 0x00007fff5fc0b1df in client_dyld_find_unwind_sections(void*, dyld_unwind_sections*) () #2 0x00007fff98760f56 in _dyld_find_unwind_sections () #3 0x00007fff9a1c6daa in libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::setInfoBasedOnIPRegister(bool) () #4 0x00007fff9a1c7555 in libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::step() () #5 0x00007fff90af57af in objc_addExceptionHandler () #6 0x00007fff9736020c in _CFDoExceptionOperation () #7 0x00007fff90f25b62 in -[NSViewHierarchyLock lockForReadingWithExceptionHandler:] () #8 0x00007fff9106ef1a in -[NSConcreteTextStorage _lockForReading] () #9 0x00007fff90fc0bf9 in _NSFastFillAllGlyphHolesForGlyphRange () #10 0x00007fff910053f6 in _NSFastFillAllLayoutHolesForGlyphRange () #11 0x00007fff91036862 in -[NSLayoutManager(NSPrivate) _firstPassGlyphRangeForBoundingRect:inTextContainer:okToFillHoles:] () #12 0x00007fff91035a02 in -[NSLayoutManager(NSPrivate) _glyphRangeForBoundingRect:inTextContainer:fast:okToFillHoles:] () #13 0x00007fff90feea51 in -[NSTextView setNeedsDisplayInRect:avoidAdditionalLayout:] () #14 0x00007fff90f18672 in -[NSView setNeedsDisplay:] () #15 0x00007fff90ff715c in -[NSTextView(NSSharing) setSelectable:] () #16 0x00007fff90ff0860 in _NSEditTextCellWithOptions () #17 0x00007fff90ff011d in -[NSTextFieldCell _selectOrEdit:inView:target:editor:event:start:end:] () #18 0x00007fff90feff39 in -[NSSearchFieldCell _selectOrEdit:inView:target:editor:event:start:end:] () #19 0x00007fff90fefe90 in -[NSCell selectWithFrame:inView:editor:delegate:start:length:] () #20 0x00007fff90fe7d8b in -[NSTextField selectText:] () #21 0x00007fff90fe7b56 in -[NSTextField becomeFirstResponder] () #22 0x00007fff90fe78e8 in -[NSWindow makeFirstResponder:] () #23 0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136 #24 0x00007fff90e4a8e6 in _NSWindowRecursiveFindFirstResponder () #25 0x00007fff910e14bc in -[NSWindow removeChildWindow:] () #26 0x00007fff916693de in -[NSToolbarFullScreenWindowManager updateWindowVisibility] () #27 0x00007fff91667bd2 in -[NSToolbarFullScreenWindowManager animateWindowToCorrectPositionIfNecessary] () #28 0x00007fff91669027 in -[NSToolbarFullScreenWindowManager _disableFullScreenForceVisibleForToolbar:] () #29 0x00007fff91661f4a in -[NSToolbarFullScreenWindow _setFirstResponder:] () #30 0x00007fff90e4fc65 in -[NSWindow(NSWindowSharedFirstResponder) _changeFirstResponderToParentsFirstResponder] () #31 0x00007fff90ffd66c in _NSWindowRecursiveChangeAllAttachmentsFirstResponder () #32 0x00007fff90fe79f7 in -[NSWindow makeFirstResponder:] () #33 0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136 #34 0x00007fff9151a0a2 in -[NSWindow _makeParentWindowHaveFirstResponder:] () #35 0x00007fff90fe767a in -[NSWindow makeFirstResponder:] () #36 0x00007fff90fe7f23 in -[NSWindow endEditingFor:] () #37 0x00007fff90fe7d15 in -[NSTextField selectText:] () #38 0x00007fff90fe7b56 in -[NSTextField becomeFirstResponder] () #39 0x00007fff90fe78e8 in -[NSWindow makeFirstResponder:] () #40 0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136 #41 0x00007fff90e4a8e6 in _NSWindowRecursiveFindFirstResponder () #42 0x00007fff910e14bc in -[NSWindow removeChildWindow:] () #43 0x00007fff916693de in -[NSToolbarFullScreenWindowManager updateWindowVisibility] () #44 0x00007fff91667bd2 in -[NSToolbarFullScreenWindowManager animateWindowToCorrectPositionIfNecessary] () #45 0x00007fff9166908d in -[NSToolbarFullScreenWindowManager _enableFullScreenForceVisibleForToolbar:] () #46 0x00007fff91661f4a in -[NSToolbarFullScreenWindow _setFirstResponder:] () #47 0x00007fff90e4fc65 in -[NSWindow(NSWindowSharedFirstResponder) _changeFirstResponderToParentsFirstResponder] () #48 0x00007fff90ffd66c in _NSWindowRecursiveChangeAllAttachmentsFirstResponder () #49 0x00007fff90fe79f7 in -[NSWindow makeFirstResponder:] () #50 0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136 #51 0x00007fff9151a0a2 in -[NSWindow _makeParentWindowHaveFirstResponder:] () #52 0x00007fff90fe767a in -[NSWindow makeFirstResponder:] () #53 0x00007fff90ff0d67 in _NSEditTextCellWithOptions () #54 0x00007fff90ff011d in -[NSTextFieldCell _selectOrEdit:inView:target:editor:event:start:end:] () #55 0x00007fff90feff39 in -[NSSearchFieldCell _selectOrEdit:inView:target:editor:event:start:end:] () #56 0x00007fff90fefe90 in -[NSCell selectWithFrame:inView:editor:delegate:start:length:] () #57 0x00007fff90fe7d8b in -[NSTextField selectText:] () #58 0x00007fff90fe7b56 in -[NSTextField becomeFirstResponder] () #59 0x00007fff90fe78e8 in -[NSWindow makeFirstResponder:] () #60 0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136 #61 0x00007fff90e4a8e6 in _NSWindowRecursiveFindFirstResponder () #62 0x00007fff910e14bc in -[NSWindow removeChildWindow:] () #63 0x00007fff916693de in -[NSToolbarFullScreenWindowManager updateWindowVisibility] () #64 0x00007fff91667bd2 in -[NSToolbarFullScreenWindowManager animateWindowToCorrectPositionIfNecessary] () #65 0x00007fff91669027 in -[NSToolbarFullScreenWindowManager _disableFullScreenForceVisibleForToolbar:] () #66 0x00007fff91661f4a in -[NSToolbarFullScreenWindow _setFirstResponder:] () #67 0x00007fff90e4fc65 in -[NSWindow(NSWindowSharedFirstResponder) _changeFirstResponderToParentsFirstResponder] () -------------------------- frames elided #12463 0x00007fff90ffd66c in _NSWindowRecursiveChangeAllAttachmentsFirstResponder () #12464 0x00007fff90fe79f7 in -[NSWindow makeFirstResponder:] () #12465 0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136 #12466 0x00007fff9151a0a2 in -[NSWindow _makeParentWindowHaveFirstResponder:] () #12467 0x00007fff90fe767a in -[NSWindow makeFirstResponder:] () #12468 0x00007fff90fe7f23 in -[NSWindow endEditingFor:] () #12469 0x00007fff90fe7d15 in -[NSTextField selectText:] () #12470 0x00007fff90fe7b56 in -[NSTextField becomeFirstResponder] () #12471 0x00007fff90fe78e8 in -[NSWindow makeFirstResponder:] () #12472 0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136 #12473 0x00007fff90e4a8e6 in _NSWindowRecursiveFindFirstResponder () #12474 0x00007fff910e14bc in -[NSWindow removeChildWindow:] () #12475 0x00007fff916693de in -[NSToolbarFullScreenWindowManager updateWindowVisibility] () #12476 0x00007fff91667bd2 in -[NSToolbarFullScreenWindowManager animateWindowToCorrectPositionIfNecessary] () #12477 0x00007fff9166908d in -[NSToolbarFullScreenWindowManager _enableFullScreenForceVisibleForToolbar:] () #12478 0x00007fff91661f4a in -[NSToolbarFullScreenWindow _setFirstResponder:] () #12479 0x00007fff90e4fc65 in -[NSWindow(NSWindowSharedFirstResponder) _changeFirstResponderToParentsFirstResponder] () #12480 0x00007fff90ffd66c in _NSWindowRecursiveChangeAllAttachmentsFirstResponder () #12481 0x00007fff90fe79f7 in -[NSWindow makeFirstResponder:] () #12482 0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136 #12483 0x00007fff9151a0a2 in -[NSWindow _makeParentWindowHaveFirstResponder:] () #12484 0x00007fff90fe767a in -[NSWindow makeFirstResponder:] () #12485 0x00007fff90ff0d67 in _NSEditTextCellWithOptions () #12486 0x00007fff90ff011d in -[NSTextFieldCell _selectOrEdit:inView:target:editor:event:start:end:] () #12487 0x00007fff90feff39 in -[NSSearchFieldCell _selectOrEdit:inView:target:editor:event:start:end:] () #12488 0x00007fff90fefe90 in -[NSCell selectWithFrame:inView:editor:delegate:start:length:] () #12489 0x00007fff90fe7d8b in -[NSTextField selectText:] () #12490 0x00007fff90fe7b56 in -[NSTextField becomeFirstResponder] () #12491 0x00007fff90fe78e8 in -[NSWindow makeFirstResponder:] () #12492 0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136 #12493 0x00007fff90e4a8e6 in _NSWindowRecursiveFindFirstResponder () #12494 0x00007fff910e14bc in -[NSWindow removeChildWindow:] () #12495 0x00007fff916693de in -[NSToolbarFullScreenWindowManager updateWindowVisibility] () #12496 0x00007fff91667bd2 in -[NSToolbarFullScreenWindowManager animateWindowToCorrectPositionIfNecessary] () #12497 0x00007fff91669027 in -[NSToolbarFullScreenWindowManager _disableFullScreenForceVisibleForToolbar:] () #12498 0x00007fff91661f4a in -[NSToolbarFullScreenWindow _setFirstResponder:] () #12499 0x00007fff90e4fc65 in -[NSWindow(NSWindowSharedFirstResponder) _changeFirstResponderToParentsFirstResponder] () #12500 0x00007fff90ffd66c in _NSWindowRecursiveChangeAllAttachmentsFirstResponder () #12501 0x00007fff90fe79f7 in -[NSWindow makeFirstResponder:] () #12502 0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136 #12503 0x00007fff9151a0a2 in -[NSWindow _makeParentWindowHaveFirstResponder:] () #12504 0x00007fff90fe767a in -[NSWindow makeFirstResponder:] () #12505 0x00007fff90fe7f23 in -[NSWindow endEditingFor:] () #12506 0x00007fff90f2225e in -[NSView removeFromSuperview] () #12507 0x00007fff9111e8b6 in -[_NSKeyboardFocusClipView removeFromSuperview] () #12508 0x00007fff9111e55b in -[NSCell endEditing:] () #12509 0x00007fff9111e364 in -[NSSearchFieldCell endEditing:] () #12510 0x00007fff9111ded0 in -[NSTextField textDidEndEditing:] () #12511 0x00007fff9732147a in _CFXNotificationPost () #12512 0x00007fff99d31846 in -[NSNotificationCenter postNotificationName:object:userInfo:] () #12513 0x00007fff9111db7a in -[NSTextView(NSSharing) resignFirstResponder] () #12514 0x00007fff90fe77d8 in -[NSWindow makeFirstResponder:] () #12515 0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136 #12516 0x00007fff90e4a8e6 in _NSWindowRecursiveFindFirstResponder () #12517 0x00007fff910e14bc in -[NSWindow removeChildWindow:] () #12518 0x00007fff916693de in -[NSToolbarFullScreenWindowManager updateWindowVisibility] () #12519 0x00007fff91667f43 in -[NSToolbarFullScreenWindowManager windowDidChangeFullScreenStatus:] () #12520 0x00007fff9732147a in _CFXNotificationPost () #12521 0x00007fff99d31846 in -[NSNotificationCenter postNotificationName:object:userInfo:] () #12522 0x00007fff916732bb in -[_NSWindowFullScreenTransition exitFullScreenTransitionForWindow:animated:] () #12523 0x00007fff9151e5d6 in -[NSWindow _resignFullScreenWindowAndExitFullScreen:] () #12524 0x00007fff9103ba59 in -[NSApplication sendAction:to:from:] () #12525 0x00007fff9117144c in -[NSMenuItem _corePerformAction] () #12526 0x00007fff9117113a in -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] () #12527 0x00007fff9116fdc0 in -[NSMenu performKeyEquivalent:] () #12528 0x00007fff9116f283 in -[NSApplication _handleKeyEquivalent:] () #12529 0x00007fff9102c243 in -[NSApplication sendEvent:] () #12530 0x00007fff90f422fa in -[NSApplication run] () #12531 0x00007fff90ee6cb6 in NSApplicationMain () #12532 0x00000001000026b3 in main at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/main.m:59 #12533 0x00007fff987617e1 in start () 12-Feb-2013 04:15 PM Jonathon Mah: Oh, I should add that the -[LIThickTitleBarWindow makeFirstResponder:] method simply calls super, and the hang still occurs if that override is removed entirely.
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!