Hi Michael, Good point. No, JNA doesn't take care of that and neither do my bindings. It's currently the responsibility of the calling application to keep a reference to the callback object. I guess I could make a convenience wrapper function that keeps a reference for you, just like you do in the liblouisutdml bindings. Something to be considered. Thanks, Bert Michael Whapples writes: > Thanks for sharing that. > > One thing I think I notice in that is that your bindings never take a > reference to the callback object. This is not a problem providing the > calling application uses it correctly, but should it not then > potentially the callback object could be garbage collected and then > liblouis may try and call it and things fall over. Is that correct or > does JNA do something? > > In the LibLouisUTDML bindings I get the bindings to take and hold a > global reference to the callback object and only release that reference > when lou_registerLogCallback is called again (may it be called with NULL > to free the callback or another callback object). > > Michael Whapples > On 12/06/2014 12:38, Bert Frees wrote: >> Hello Michael, >> >> I've updated my JNA based Java bindings to support >> lou_registerLogCallback and lou_setLogLevel. See >> https://github.com/liblouis/liblouis-java/commit/a30a1ad7212bed369c3ffd651c393ca241f83ae6 >> if you like to know how I did it. >> >> Cheers, >> Bert >> For a description of the software, to download it and links to >> project pages go to http://www.abilitiessoft.com > > For a description of the software, to download it and links to > project pages go to http://www.abilitiessoft.com For a description of the software, to download it and links to project pages go to http://www.abilitiessoft.com