func goTreeModelFilterFuncs(filter *C.GtkTreeModelFilter, iter *C.GtkTreeIter, data C.gpointer) C.gboolean {
	id := int(uintptr(data))

	treeModelVisibleFilterFuncRegistry.Lock()
	r := treeModelVisibleFilterFuncRegistry.m[id]
	treeModelVisibleFilterFuncRegistry.Unlock()

	goIter := &TreeIter{(C.GtkTreeIter)(*iter)}
	return gbool(r.fn(
		wrapTreeModelFilter(glib.Take(unsafe.Pointer(filter))),
		goIter,
		r.userData))
}
func goTreeModelFilterFuncs(filter *C.GtkTreeModelFilter, iter *C.GtkTreeIter, data C.gpointer) C.gboolean {
	id := int(uintptr(data))

	treeModelVisibleFilterFuncRegistry.Lock()
	r := treeModelVisibleFilterFuncRegistry.m[id]
	treeModelVisibleFilterFuncRegistry.Unlock()

	goIter := &TreeIter{(C.GtkTreeIter)(*iter)}
	return gbool(r.fn(
		wrapTreeModelFilter(glib.Take(unsafe.Pointer(filter))),
		goIter,
		r.userData))
}
//export goTreeModelFilterFuncs