On Dec 13, 2009, at 04:55, ext Andreas Färber wrote:

> The application is not very useful once the guest window is closed.
> QEMU is not a document-based application; terminating it automatically
> saves the user another action and resembles SDL behavior.
> 
> Signed-off-by: Andreas Färber <andreas.faer...@web.de>
> Cc: Mike Kronenberg <mike.kronenb...@kronenberg.org>
> Cc: Alexander Graf <a...@csgraf.de>
> ---
> cocoa.m |    7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/cocoa.m b/cocoa.m
> index 70c249b..09ed3cd 100644
> --- a/cocoa.m
> +++ b/cocoa.m
> @@ -712,6 +712,7 @@ static int cocoa_keycode_to_qemu(int keycode)
> - (void)toggleFullScreen:(id)sender;
> - (void)showQEMUDoc:(id)sender;
> - (void)showQEMUTec:(id)sender;
> +- (void)windowWillClose:(NSNotification *)notification;
> @end
> 
> @implementation QemuCocoaAppController
> @@ -737,6 +738,7 @@ static int cocoa_keycode_to_qemu(int keycode)
>             fprintf(stderr, "(cocoa) can't create window\n");
>             exit(1);
>         }
> +        [normalWindow setDelegate:self];
>         [normalWindow setAcceptsMouseMovedEvents:YES];
>         [normalWindow setTitle:[NSString stringWithFormat:@"QEMU"]];
>         [normalWindow setContentView:cocoaView];
> @@ -835,6 +837,11 @@ static int cocoa_keycode_to_qemu(int keycode)
>     [[NSWorkspace sharedWorkspace] openFile:[NSString 
> stringWithFormat:@"%@/../doc/qemu/qemu-tech.html",
>         [[NSBundle mainBundle] resourcePath]] withApplication:@"Help Viewer"];
> }
> +
> +- (void)windowWillClose:(NSNotification *)notification
> +{
> +     [NSApp terminate:self];
> +}
> @end
> 

Another way to achieve the same thing is to instead of the above changes just 
introduce a new method for the QemuCocoaAppController like:

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication 
*)theApplication
{
    return YES;
}


Regards,
Juha



Reply via email to