diff options
author | 2014-10-07 03:59:34 -0700 | |
---|---|---|
committer | 2014-10-07 03:59:34 -0700 | |
commit | 3fc02f172099533dcdc86a9e5ccdda486d40a004 (patch) | |
tree | 91eaf37e7b4b584449a6073c61b3d624430bd95e /src | |
parent | 5397725ca732e3ae9941b561df8281dd0b28bda7 (diff) |
override applicationShouldTerminate so we can cleanup when we quit
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/636723002
Diffstat (limited to 'src')
-rw-r--r-- | src/views/mac/SampleAppDelegate.h | 3 | ||||
-rw-r--r-- | src/views/mac/SampleAppDelegate.mm | 9 | ||||
-rw-r--r-- | src/views/mac/skia_mac.mm | 4 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/views/mac/SampleAppDelegate.h b/src/views/mac/SampleAppDelegate.h index 8f2bead7bd..e22ad9d6ea 100644 --- a/src/views/mac/SampleAppDelegate.h +++ b/src/views/mac/SampleAppDelegate.h @@ -21,4 +21,7 @@ @property (assign) IBOutlet SkOptionsTableView* fOptions; - (IBAction)toiPadSize:(id)sender; + +- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender; + @end diff --git a/src/views/mac/SampleAppDelegate.mm b/src/views/mac/SampleAppDelegate.mm index 91dcada888..8211ad9c48 100644 --- a/src/views/mac/SampleAppDelegate.mm +++ b/src/views/mac/SampleAppDelegate.mm @@ -1,4 +1,7 @@ #import "SampleAppDelegate.h" + +#include "SkApplication.h" + @implementation SampleAppDelegate @synthesize fWindow, fView, fOptions; @@ -13,4 +16,10 @@ NSRect frame = NSMakeRect(fWindow.frame.origin.x, fWindow.frame.origin.y, 768, 1024); [fWindow setFrame:frame display:YES animate:YES]; } + +- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender { + application_term(); + return NSTerminateNow; +} + @end diff --git a/src/views/mac/skia_mac.mm b/src/views/mac/skia_mac.mm index e3c31c40f6..393e6d8141 100644 --- a/src/views/mac/skia_mac.mm +++ b/src/views/mac/skia_mac.mm @@ -14,7 +14,11 @@ int main(int argc, char *argv[]) { NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; application_init(); int retVal = NSApplicationMain(argc, (const char **)argv); + +#if 0 + // we don't expect NSApplicationMain to return. See our applicationShouldTerminate handler. application_term(); [pool release]; +#endif return retVal; } |