While debugging an issue using getVariant with a table that had a __pairs metamethod, I noticed that the stack top was creeping up 1 index per frame, even before I started modifying code.
By adding printf( "stack top %d\n", lua_gettop(state)); at the entry of getVariant it would produce a result that was constantly incrementing, which is suspicious. I'm not familiar enough with the rest of the code to investigate more deeply at the moment.
While debugging an issue using getVariant with a table that had a __pairs metamethod, I noticed that the stack top was creeping up 1 index per frame, even before I started modifying code.
By adding
printf( "stack top %d\n", lua_gettop(state));
at the entry of getVariant it would produce a result that was constantly incrementing, which is suspicious. I'm not familiar enough with the rest of the code to investigate more deeply at the moment.