[cffi-devel] callbacks calling translate-to-foreign

Jan Rychter jan at rychter.com
Mon Aug 14 13:40:33 UTC 2006


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.



More information about the cffi-devel mailing list