タイプ NSMenuItem のオブジェクトのアクションからタイプ NSOpenPanel のオブジェクトが呼び出されると、問題が発生します。
私の MainController には次のメソッドがあり、tblTest は NSScrollView です。
public override void AwakeFromNib ()
{
base.AwakeFromNib ();
tblTest.Menu = this.GetContextualMenu ();
}
private NSMenu GetContextualMenu ()
{
NSMenu menu = new NSMenu ();
NSMenuItem item = new NSMenuItem ();
item.Title = "Execute Action";
item.Activated+= delegate
{
NSOpenPanel openPanel= new NSOpenPanel();
openPanel.Prompt = "Select file";
openPanel.RunModal();
};
menu.AddItem (item);
return menu;
}
次に、メニュー項目「アクションの実行」をクリックすると、次の例外が発生し、アプリケーションがスタックします。
Native stacktrace:
0 libmono-2.0.dylib 0x0029ed6f mono_handle_native_sigsegv + 287
1 libmono-2.0.dylib 0x00203f33 mono_sigsegv_signal_handler + 355
2 libsystem_c.dylib 0x94aa859b _sigtramp + 43
3 ??? 0xffffffff 0x0 + 4294967295
4 DesktopServicesPriv 0x9bd75e96 _ZN7TFSInfo10InitializeEhP29OpaqueLSSharedFileListItemRef + 770
5 DesktopServicesPriv 0x9bcfbf2e _ZN19TFSInfoSynchronizer13FetchChildrenEv + 652
6 DesktopServicesPriv 0x9bce7df3 _ZN5TNode19SynchronizeChildrenEmR16TNodeEventPtrSet + 181
7 DesktopServicesPriv 0x9bce7867 _ZN5TNode10HandleSyncEm + 2123
8 DesktopServicesPriv 0x9bce6fef _ZN5TNode10HandleSyncERK11TCountedPtrI9TNodeTaskERK8TNodePtr + 55
9 DesktopServicesPriv 0x9bd35830 _ZN5TNode17HandleNodeRequestERK11TCountedPtrI9TNodeTaskERKS0_I17TVolumeSyncThreadE + 978
10 DesktopServicesPriv 0x9bd58d7e __PostNodeTaskRequest_block_invoke_010 + 87
11 DesktopServicesPriv 0x9bd6b269 _Z18ExceptionSafeBlockU13block_pointerFvvE + 55
12 DesktopServicesPriv 0x9bd58d21 __PostNodeTaskRequest_block_invoke_0 + 86
13 libdispatch.dylib 0x9b792fc9 _dispatch_call_block_and_release + 15
14 libdispatch.dylib 0x9b79494f _dispatch_queue_drain + 224
15 libdispatch.dylib 0x9b7947f4 _dispatch_queue_invoke + 47
16 libdispatch.dylib 0x9b793ffc _dispatch_worker_thread2 + 187
17 libsystem_c.dylib 0x94a52b24 _pthread_wqthread + 346
18 libsystem_c.dylib 0x94a546fe start_wqthread + 30
Debug info from gdb:
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object
[ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
Thread 0x0 may have been prematurely finalized
何が起こっているか知っている人はいますか??