Description
Hey,
There is a problem with the way the MMF interface caches object pointers (LPHO): it does not purge the cache when the application is restarted. This basically leads to mmf.newObject() returning garbage for the same object that worked fine before restarting the application.
I've added a simple hotfix for our needs by creating a new function in the mmf table that will simply reset the KEY_POOL_OBJECT table that we call at the beginning of the main script; I don't know how to properly implement this without the need for a manual function call. The MMFI doesn't seem to be aware of restarts etc., so it might need some interaction between the MMFI and the xlua dll?
EDIT: I guess another kind of hacky solution would be to keep track of the CRunFrame pointer or similar unique values, and updating cache entries that do not match the current value.
I do realize that you're not actively developing this project anymore, but I thought I'd let you know, maybe it is something you would like to fix :)