Original Post
Hello, First : This is not a bug ! Well, I've done upgrading to 1.9.2 and running my application in debug mode I have found a different behaviour than in release mode. So I have looked at my scripts and found that the problem came from there. In my script I wasn't initializing a variable, and found that in release mode my uninitialized var has magicaly the value that make the script run, but in debug mode, the value wasn't magicaly the same. Invastigating in the scripts beeing called before the one that cause the problem, I have found that the magic value was assigned to a var (same type, same name) in release mode, but not in debug mode. Also if I insert a var declaration, the magic value is not assigned. example:
void firstfunc()
{
bool bWhat;
int iVar;
...
iVar = 50;
}
void secondfunc()
{
CClass theClass;
int iVar;
// if typed : int iDummy, iVar then iVar do NOT get the value
// In release mode iVar = 50 in debug mode iVar = undefined value
...
}
then in C++ I call firstfunc and then, secondfunc
I think this is because of a stack beeing shared between functions ? The question is : How/Why in the second function the variable get initialized ? I prefer that variables are unitialized because it can lead to think that a function works correctly, but it's not, it's just about magic ! AbrKen.