summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--objc_darwin.go5
-rw-r--r--uitask_darwin.go2
2 files changed, 6 insertions, 1 deletions
diff --git a/objc_darwin.go b/objc_darwin.go
index 524d9f7..028480c 100644
--- a/objc_darwin.go
+++ b/objc_darwin.go
@@ -34,6 +34,7 @@ var (
_release = sel_getUid("release")
_stringWithUTF8String = sel_getUid("stringWithUTF8String:")
_UTF8String = sel_getUid("UTF8String")
+ _setDelegate = sel_getUid("setDelegate:")
)
// some helper functions
@@ -64,6 +65,10 @@ func fromNSString(str C.id) string {
return C.GoString((*C.char)(unsafe.Pointer(cstr)))
}
+func objc_setDelegate(obj C.id, delegate C.id) {
+ C.objc_msgSend_id(obj, _setDelegate, delegate)
+}
+
/*
These are wrapper functions for the functions in bleh_darwin.m to wrap around stdint.h type casting.
*/
diff --git a/uitask_darwin.go b/uitask_darwin.go
index 8c15cf4..ccc659d 100644
--- a/uitask_darwin.go
+++ b/uitask_darwin.go
@@ -97,7 +97,7 @@ func mainThread() {
return
}
appDelegate := objc_new(objc_getClass(_goAppDelegate))
- C.objc_msgSend_id(_NSApp, _setDelegate, appDelegate)
+ objc_setDelegate(_NSApp, appDelegate)
// and that's it, really
C.objc_msgSend_noargs(_NSApp, _run)
}