summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ui/cocoa.m6
1 files changed, 5 insertions, 1 deletions
diff --git a/ui/cocoa.m b/ui/cocoa.m
index 09a62817f2..84c84e98fc 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -35,6 +35,7 @@
#include "ui/kbd-state.h"
#include "sysemu/sysemu.h"
#include "sysemu/runstate.h"
+#include "sysemu/runstate-action.h"
#include "sysemu/cpu-throttle.h"
#include "qapi/error.h"
#include "qapi/qapi-commands-block.h"
@@ -1290,7 +1291,10 @@ static CGEventRef handleTapEvent(CGEventTapProxy proxy, CGEventType type, CGEven
{
COCOA_DEBUG("QemuCocoaAppController: applicationWillTerminate\n");
- qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_UI);
+ with_iothread_lock(^{
+ shutdown_action = SHUTDOWN_ACTION_POWEROFF;
+ qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_UI);
+ });
/*
* Sleep here, because returning will cause OSX to kill us