Fix stack balancing problems by refactoring execution calls

- Con::executef now uses a template
- All public execution functions now restore the console stack upon return
- Fixed bad parameters on some callbacks
- Reverts get*Arg behavior
This commit is contained in:
James Urquhart 2015-02-07 22:41:54 +00:00
parent b1ad72692c
commit f44a3f27d6
43 changed files with 1781 additions and 358 deletions

View file

@ -24,6 +24,7 @@
#include "lighting/common/sceneLighting.h"
#include "T3D/gameBase/gameConnection.h"
#include "console/engineAPI.h"
#include "console/consoleTypes.h"
#include "scene/sceneManager.h"
#include "lighting/common/shadowVolumeBSP.h"
@ -605,7 +606,7 @@ void SceneLighting::completed(bool success)
}
if(gCompleteCallback && gCompleteCallback[0])
Con::executef(gCompleteCallback);
Con::executef((const char*)gCompleteCallback);
dFree(gCompleteCallback);
gCompleteCallback = NULL;