app/internal/window: [macOS] make GioDelegate window-independent

Updates #19

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-06-03 20:40:04 +02:00
parent 34c212d152
commit 7c22a888b1
2 changed files with 45 additions and 14 deletions
+8
View File
@@ -38,6 +38,7 @@ __attribute__ ((visibility ("hidden"))) CGFloat gio_getViewBackingScale(CFTypeRe
__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);
*/
import "C"
@@ -278,6 +279,13 @@ func gio_onCreate(view C.CFTypeRef) {
w.w = wopts.window
w.w.SetDriver(w)
insertView(view, w)
if len(viewMap) == 1 {
C.CFRetain(view)
runOnMain(func() {
defer C.CFRelease(view)
C.gio_makeKeyAndOrderFront(view)
})
}
}
func NewWindow(win Callbacks, opts *Options) error {