summaryrefslogtreecommitdiff
path: root/delegate_darwin.go
diff options
context:
space:
mode:
Diffstat (limited to 'delegate_darwin.go')
-rw-r--r--delegate_darwin.go16
1 files changed, 11 insertions, 5 deletions
diff --git a/delegate_darwin.go b/delegate_darwin.go
index 27031c3..7d21c3d 100644
--- a/delegate_darwin.go
+++ b/delegate_darwin.go
@@ -24,11 +24,9 @@ func makeAppDelegate() {
}
//export appDelegate_windowShouldClose
-func appDelegate_windowShouldClose(win C.id) C.BOOL {
+func appDelegate_windowShouldClose(win C.id) {
sysData := getSysData(win)
- b := false // TODO
- sysData.close(&b)
- return toBOOL(b)
+ sysData.signal()
}
//export appDelegate_windowDidResize
@@ -44,5 +42,13 @@ func appDelegate_windowDidResize(win C.id) {
//export appDelegate_buttonClicked
func appDelegate_buttonClicked(button C.id) {
sysData := getSysData(button)
- sysData.event()
+ sysData.signal()
+}
+
+//export appDelegate_applicationShouldTerminate
+func appDelegate_applicationShouldTerminate() {
+ // asynchronous so as to return control to the event loop
+ go func() {
+ AppQuit <- struct{}{}
+ }()
}