diff --git a/gtkcalls_unix.go b/gtkcalls_unix.go index 5dd6f25..6d9706d 100644 --- a/gtkcalls_unix.go +++ b/gtkcalls_unix.go @@ -24,7 +24,11 @@ func gtk_init() bool { return fromgbool(C.gtk_init_check((*C.int)(nil), (***C.char)(nil))) } +// the garbage collector has been found to eat my callback functions; this will stop it +var callbackstore = make([]*func() bool, 0, 50) + func gdk_threads_add_idle(what func() bool) { + callbackstore = append(callbackstore, &what) C.gdk_threads_add_idle(callbacks["idle"], C.gpointer(unsafe.Pointer(&what))) } @@ -41,9 +45,6 @@ func gtk_window_new() *gtkWidget { return fromgtkwidget(C.gtk_window_new(0)) } -// the garbage collector has been found to eat my callback functions; this will stop it -var callbackstore = make([]*func() bool, 0, 50) - func g_signal_connect(obj *gtkWidget, sig string, callback func() bool) { callbackstore = append(callbackstore, &callback) ccallback := callbacks[sig]