3

タイプ 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

何が起こっているか知っている人はいますか??

4

0 に答える 0