|
Hi All,I am using luajava in my project, but I met a problem when calling a javafunction from a coroutine. The parameter passed to that function in lua could not be found in the stack.
It seems that it is a known issue. I actually find an old post in the mail-list: http://lists.luaforge.net/pipermail/kepler-project/2006-June/000144.html
My question is: Is there any fix for this issue? I checked the luajava release history, no version mentions the related fix.ThanksIn case you don't want to click the link above, here is a small test code:
In Java:
JavaFunction test = new JavaFunction(L) {
@Override
public int execute() throws LuaException {
System.out.println("Size: " + L.getTop());
return 0;
}
};
test.register("testJavaFunction");In Lua:testJavaFunction('param1', 'param2')output: Size: 3-- with coroutinelocal co = coroutine.create(function()
testJavaFunction('param1', 'param2')
end)
coroutine.resume(co)
output: Size: 1Best regards,
Bo