I have a problem defining callbacks that use user-defined types. After quite a bit of debugging I traced it down to this:
(defcallback %callback-resize :void ((ee ecore-evas)) ...)
ecore-evas is defined using defctype, I also have translate-from-foreign and translate-to-foreign defined for it.
Now, everything works fine for normal function calls, types get translated back and forth, but when the callback gets called, CFFI calls translate-to-foreign on ee instead of the seemingly correct translate-from-foreign. This obviously fails, as it's trying to translate-to-foreign a foreign pointer.
I can't understand the defcallback macrology, so I can't trace this any further -- am I doing something wrong, or is there a bug in CFFI?
--J.