summaryrefslogtreecommitdiff
path: root/stddialogs.go
diff options
context:
space:
mode:
Diffstat (limited to 'stddialogs.go')
-rw-r--r--stddialogs.go24
1 files changed, 14 insertions, 10 deletions
diff --git a/stddialogs.go b/stddialogs.go
index 7954512..0ff8a01 100644
--- a/stddialogs.go
+++ b/stddialogs.go
@@ -8,30 +8,34 @@ import "C"
// TODO
func MsgBoxError(w *Window, title string, description string) {
ctitle := C.CString(title)
+ defer freestr(ctitle)
cdescription := C.CString(description)
+ defer freestr(cdescription)
C.uiMsgBoxError(w.w, ctitle, cdescription)
- freestr(ctitle)
- freestr(cdescription)
}
func OpenFile(w *Window) string {
cname := C.uiOpenFile(w.w)
- name := C.GoString(cname)
- C.uiFreeText(cname)
- return name
+ if cname == nil {
+ return ""
+ }
+ defer C.uiFreeText(cname)
+ return C.GoString(cname)
}
func SaveFile(w *Window) string {
cname := C.uiSaveFile(w.w)
- name := C.GoString(cname)
- C.uiFreeText(cname)
- return name
+ if cname == nil {
+ return ""
+ }
+ defer C.uiFreeText(cname)
+ return C.GoString(cname)
}
func MsgBox(w *Window, title string, description string) {
ctitle := C.CString(title)
+ defer freestr(ctitle)
cdescription := C.CString(description)
+ defer freestr(cdescription)
C.uiMsgBox(w.w, ctitle, cdescription)
- freestr(ctitle)
- freestr(cdescription)
}