2016-09-22 10 views
3

NSTextView for Sierra(リリースビルド)でsetUsesInspectorBarを呼び出すクラッシュを見ている人はいますか?このコードは10.11.5で正常に動作しましたが、SierraのAppKitでクラッシュします。私はベータ版バグだと思っていましたが、まだ完全版になっています。Sierra 10.12でNSTextViewインスペクタバーがクラッシュする

ここには、lldbのバックトレースがあります。

(lldb) bt 
* thread #1: tid = 0x76deb, 0x9ecfe013 libobjc.A.dylib`objc_msgSend + 19, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xa007cc0f) 
    * frame #0: 0x9ecfe013 libobjc.A.dylib`objc_msgSend + 19 
    frame #1: 0x95c5f861 Foundation`releasingRelinquish + 29 
    frame #2: 0x95c22636 Foundation`-[NSConcreteMapTable removeObjectForKey:] + 127 
    frame #3: 0x92fbec6e AppKit`-[NSStackViewContainer removeView:] + 102 
    frame #4: 0x92798554 AppKit`-[NSStackView _insertView:atIndex:inGravity:animated:] + 212 
    frame #5: 0x9279847b AppKit`-[NSStackView insertView:atIndex:inGravity:] + 40 
    frame #6: 0x9279839b AppKit`-[NSStackView addView:inGravity:] + 78 
    frame #7: 0x92f5ec2c AppKit`-[__NSInspectorBarView addItem:] + 71 
    frame #8: 0x929281c1 AppKit`__23-[NSInspectorBar _tile]_block_invoke + 303 
    frame #9: 0x94566871 CoreFoundation`__53-[__NSArrayM enumerateObjectsWithOptions:usingBlock:]_block_invoke + 81 
    frame #10: 0x94566717 CoreFoundation`-[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 167 
    frame #11: 0x945665f5 CoreFoundation`-[NSArray enumerateObjectsUsingBlock:] + 53 
    frame #12: 0x92925e95 AppKit`-[NSInspectorBar _tile] + 484 
    frame #13: 0x92924e3d AppKit`-[NSInspectorBar _update] + 224 
    frame #14: 0x92630b28 AppKit`-[NSTextView updateInspectorBar] + 71 
    frame #15: 0x9263159b AppKit`-[NSTextView updateRuler] + 2622 
    frame #16: 0x9292440f AppKit`-[NSTextView(NSSharing) setUsesInspectorBar:] + 350 
    frame #17: 0x0014eef4 DockShelf`"-[TTextEditorWindowController awakeFromNib]"(self=0x0073ecc0, _cmd="awakeFromNib") + 116 at UTextEditor_2.pas:124 

答えて

2

これはAppKitの32ビットアプリケーションでのバグです。残念ながら、(インスペクタバーのサポートを削除せずに)回避策がなく、AppKitで修正が必要になります。


これは、10.12.2私はXIBで窓から(NSScrollViewに含まれる)NSTextViewを移動しようとしたし、戻ってそれを追加しました

+0

はい、それです!古代のコードを64ビットに更新する必要がありますが、それは時間だと思います。私はこれが10.12+だったと確信しているので、アップルがこれを持っているかもしれないが、それも数ヶ月または数年間無視される可能性がある。 – GenericPtr

+0

アップルに報告:http://www.openradar.me/radar? id = 5005564551626752 - デモプロジェクトが含まれています。 (ヒント:10.12ベータ中に既にこのバグについて知っていて、Appleに報告しなかった場合 - あなたのことを恥ずべき!) –

0

IBのNSTextViewコンポーネントを削除してから、コンポーネントのパレットから再度挿入してください。古いXIBファイルに、NIBファイルに正しく認識/コンパイルされず、Sierraがファイルを処理できないキーワードが含まれている可能性があります。

+0

で固定しなければならないが、それは助けていないようです。インスペクタバーはsetUsesInspectorBarを使用してコードから設定されていたので、これが関連するとは思わなかった。 – GenericPtr

関連する問題