app/internal/window: [macOS] only terminate app when last window closes

Updates #19

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-06-03 21:13:51 +02:00
parent 9efdc3409c
commit 476bf8d263
2 changed files with 13 additions and 4 deletions
+6 -2
View File
@@ -39,6 +39,7 @@ __attribute__ ((visibility ("hidden"))) CFTypeRef gio_readClipboard(void);
__attribute__ ((visibility ("hidden"))) void gio_writeClipboard(unichar *chars, NSUInteger length);
__attribute__ ((visibility ("hidden"))) void gio_setNeedsDisplay(CFTypeRef viewRef);
__attribute__ ((visibility ("hidden"))) void gio_makeKeyAndOrderFront(CFTypeRef viewRef);
__attribute__ ((visibility ("hidden"))) void gio_appTerminate(void);
*/
import "C"
@@ -239,12 +240,15 @@ func configFor(scale float32) config {
}
}
//export gio_onTerminate
func gio_onTerminate(view C.CFTypeRef) {
//export gio_onClose
func gio_onClose(view C.CFTypeRef) {
w := mustView(view)
w.displayLink.Close()
deleteView(view)
w.w.Event(system.DestroyEvent{})
if len(viewMap) == 0 {
C.gio_appTerminate()
}
}
//export gio_onHide