Jan Rychter wrote: > The problem is that the C side insists on identifying > callbacks to delete by a function pointer. In this approach all > callbacks would get the same function pointer on the C side -- that > of the dispatching callback function on the Lisp side. Which means I > won't be able to delete them on the C side afterwards.
Then just don't delete them. If the C side only sees only one, there won't be such a memory loss (but analyse that, maybe there's some for each new window?). OTOH, as Martin Simmons said, other GUI (which one are you using?) don't suffer from such a braindamage. And more importantly, named callbacks are supported by all Lisps (?), whereas lambdas only work with sbcl + clisp. >2. I was actually wrong when I said I knew when the callback >would be no > longer needed. Not quite sure what to do about this yet. I know next > to nothing about finalizers -- can I expect them to be supported? Forget about finalizers. *YOU* are the only one to be able to tell when the other side has finished using a resource. A good time to free resource is generally when the application exists... Regards, Jörg Höhle. _______________________________________________ cffi-devel mailing list cffi-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel