sohum
sohum

Reputation: 3227

Application shutdown in MonoMac

I'm trying to shutdown a MonoMac application by using Environment.Exit(0). However, this call for some reason does not return. It does not throw an exception, either. When I execute the function in the immediate window in MonoDevelop, it times out.

I have no idea how to approach debugging this. I thought that Environment.Exit kills the process...

Upvotes: 6

Views: 880

Answers (2)

Utmost
Utmost

Reputation: 51

You may add two override functions in AppDelegate.cs.

public override NSApplicationTerminateReply ApplitionShouldTerminate(NSApplication sender) 
{
    mainWindowController.Window.Close();
    return NSApplicationTerminateReply.Now;
}

public override bool ApplicationShouldTerminateAfterLastWindowClosed(NSApplication sender)
{
    return true;
}

Upvotes: 3

Laurent Etiemble
Laurent Etiemble

Reputation: 27889

You should use the NSApplication.Terminate method instead.

Note that this method may call the application delegate (if defined) to confirm the termination (See NSApplicationDelegate.ApplicationShouldTerminate).

Upvotes: 6

Related Questions