summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--redo/objc_darwin.h2
-rw-r--r--redo/uitask_darwin.go10
-rw-r--r--redo/uitask_darwin.m3
3 files changed, 10 insertions, 5 deletions
diff --git a/redo/objc_darwin.h b/redo/objc_darwin.h
index 4066b5a..14164f0 100644
--- a/redo/objc_darwin.h
+++ b/redo/objc_darwin.h
@@ -38,7 +38,7 @@ struct xpoint {
/* uitask_darwin.m */
extern id getAppDelegate(void); /* used by the other .m files */
-extern BOOL uiinit(void);
+extern void uiinit(char **);
extern void uimsgloop(void);
extern void uistop(void);
extern void issue(void *);
diff --git a/redo/uitask_darwin.go b/redo/uitask_darwin.go
index 9218c8e..094ba01 100644
--- a/redo/uitask_darwin.go
+++ b/redo/uitask_darwin.go
@@ -3,6 +3,7 @@
package ui
import (
+ "fmt"
"unsafe"
)
@@ -12,8 +13,13 @@ import (
import "C"
func uiinit() error {
- // TODO check error
- C.uiinit()
+ var errmsg *C.char
+
+ errmsg = nil
+ C.uiinit(&errmsg)
+ if errmsg != nil {
+ return fmt.Errorf("package ui initialization failed: %s", C.GoString(errmsg))
+ }
return nil
}
diff --git a/redo/uitask_darwin.m b/redo/uitask_darwin.m
index 7dc4881..0f4d774 100644
--- a/redo/uitask_darwin.m
+++ b/redo/uitask_darwin.m
@@ -56,7 +56,7 @@ id getAppDelegate(void)
return appDelegate;
}
-BOOL uiinit(void)
+void uiinit(char **errmsg)
{
areaClass = getAreaClass();
appDelegate = [appDelegateClass new];
@@ -66,7 +66,6 @@ BOOL uiinit(void)
[NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
[NSApp activateIgnoringOtherApps:YES]; // TODO rsc does this; finder says NO?
[NSApp setDelegate:appDelegate];
- return YES;
}
void uimsgloop(void)