   Stack Overflow
  Hi!   I got the following exception while running my game. Unhandled exception at 0x7706a4d2 in SlogOut3D.exe: 0xC00000FD: Stack overflow.Here is the Call Stack:>ntdll.dll!7706a4d2()  [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77086e27()  ntdll.dll!77086e0c()  ntdll.dll!770d1ec5()  ntdll.dll!7709ba51()  ntdll.dll!77087545()  ntdll.dll!77086e0c()  ntdll.dll!770871e6()  ntdll.dll!77086e0c()  msvcr90.dll!73593db8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8()  msvcr90.dll!73593eb8() How to resove this exception?[Edited by - Zahlman on September 2, 2010 6:22:48 PM]
  You are doing something which is triggering infinite recursion in the Visual Studio runtime. Is there anywhere in that stack trace which links to SlogOut3D.exe, so you could post the calling code for us?Is the error reproducible? Can you place breakpoints at likely areas where the error is about to occur?   ;  You know there really wasn't any point in posting such a huge number of repetitions of msvcr90.dll!73593eb8(). It's not like someone was going to say that the problem becomes obvious when you look specifically at the 257th one of those.The most important part here is the second line, which is telling you to load the symbols for ntdll.dll. Figure out how to do that first.   ;  Sorry gentlemen! It's the call stack of Relase build. Sorry for wasted ur precious time. I've to implement a menu system. I've writen the code for initial menu system. IT runs fine. Initial Menu has four buttons(Play,Options,Credits and Exit namely). Transition for initial Menu(clicking the any one buttons, and coming back to the Initial Menu) works good(no crash). If I click the Options button, next menu loads with three buttons. If I click any button(there are three buttons), application crashes. I've written every Menu page as a separate class. I passed the device(device is required to display the GUI elements) from the main to the initial Menu class(I've created the init menu instace from main using new). For subsequent classes I've created the corresponding class's instance on the corresponding button's click. I've separate event receiver for each class(each menu page). Here is my code:InitMenu.cpp#include <irrlicht.h>#include "../include/InitMenu.h"#include "../include/OptionsMenu.h"#include "../include/CreditsMenu.h"#include <stdio.h>#include <stdlib.h>using namespace irr;using namespace core;using namespace video;using namespace gui;using namespace io;using namespace scene;class COptionsMenu;InitEventReceiver::InitEventReceiver(SInitMenuContext &context):initMenuContext(context){}bool InitEventReceiver::OnEvent(const irr::SEvent& event){ if (event.GUIEvent.EventType == gui::EGET_BUTTON_CLICKED) {  s32 idBtn = event.GUIEvent.Caller->getID();  switch(idBtn)  {   case PLAY_BUTTON:   return true;   break;   case OPTIONS_BUTTON:   {    COptionsMenu* optMNU = new COptionsMenu(initMenuContext.device);//optMNU->runGame();//initMenuContext.device->closeDevice();initMenuContext.m_pPlayButton->setVisible(false);initMenuContext.m_pOptionsButton->setVisible(false);initMenuContext.m_pCreditsButton->setVisible(false);initMenuContext.m_pExitButton->setVisible(false);optMNU->optionsContext.m_pPlayerProfileButton->setVisible(true);optMNU->optionsContext.m_pFavouritesButton->setVisible(true);optMNU->optionsContext.m_pMatchResultButton->setVisible(true);optMNU->optionsContext.m_pOptionsBackButton->setVisible(true);optMNU->runGame();return true;break;   }   case CREDITS_BUTTON:   {CCreditsMenu* creMNU = new CCreditsMenu(initMenuContext.device);initMenuContext.m_pPlayButton->setVisible(false);initMenuContext.m_pOptionsButton->setVisible(false);initMenuContext.m_pCreditsButton->setVisible(false);initMenuContext.m_pExitButton->setVisible(false);creMNU->CreditsContext.m_pCreditsBackButton->setVisible(true);creMNU->runGame();return true;break;   }   case EXIT_BUTTON:   initMenuContext.device->closeDevice();   break;   return false;   default:   return false;  }  return true; } return false;}CInitMenu::CInitMenu(IrrlichtDevice *device){ dev = device; int width = 180; int height = 50; int x = (device->getVideoDriver()->getScreenSize().Width - 200)/2; int y = 100; SColor WHITE = video::SColor(255,255,255,255); SColor BLUE = video::SColor(255,0,0,255); gui::IGUISkin* skin = device->getGUIEnvironment()->createSkin(EGUI_SKIN_TYPE::EGST_WINDOWS_METALLIC); skin->setColor(gui::EGDC_BUTTON_TEXT,WHITE); skin->setColor(gui::EGDC_WINDOW,BLUE); device->getGUIEnvironment()->setSkin(skin); device->getSceneManager()->loadScene("Data/experimentalMenuSystem/Shop.irr"); device->getSceneManager()->addCameraSceneNode(0,core::vector3df(0,100,0),core::vector3df(0,0,100),-1,true); m_pPlayButton = device->getGUIEnvironment()->addButton(core::recti(x,y,x+width,y+height),0,PLAY_BUTTON,L"Play"); y = y+height; m_pOptionsButton = device->getGUIEnvironment()->addButton(core::recti(x,y,x+width,y+height),0,OPTIONS_BUTTON,L"Options"); y = y+height; m_pCreditsButton = device->getGUIEnvironment()->addButton(core::recti(x,y,x+width,y+height),0,CREDITS_BUTTON,L"Credits"); y = y+height; m_pExitButton = device->getGUIEnvironment()->addButton(core::recti(x,y,x+width,y+height),0,EXIT_BUTTON,L"Exit"); initMnuContext.device = device; initMnuContext.m_pPlayButton = m_pPlayButton; initMnuContext.m_pOptionsButton = m_pOptionsButton; initMnuContext.m_pCreditsButton = m_pCreditsButton; initMnuContext.m_pExitButton = m_pExitButton;}int main(){ IrrlichtDevice* device = createDevice(video::EDT_DIRECT3D9,core::dimension2d<u32>(640,480),16,false,false,false,0); CInitMenu* cIMNU = new CInitMenu(device); //COptionsMenu* cOptMNU = new COptionsMenu(device); cIMNU->runGame();}void CInitMenu::runGame(){ InitEventReceiver initReceiver(initMnuContext); dev->setEventReceiver(&initReceiver); while(dev->run()) {  if (dev->isWindowActive())  {   dev->getVideoDriver()->beginScene(true, true, video::SColor(0,200,200,200));   dev->getSceneManager()->drawAll();   dev->getGUIEnvironment()->drawAll();   dev->getVideoDriver()->endScene();  } } dev->drop();} This is the code for next Menu(Options Menu)#include <irrlicht.h>#include "../include/OptionsMenu.h"#include "../include/InitMenu.h"#include "../include/ProfileMenu.h"#include "../include/FavoritesMenu.h"#include "../include/ResultMenu.h"//CInitMenu cIMNU;using namespace irr;using namespace core;using namespace video;using namespace gui;using namespace io;using namespace scene;OptionsEventReceiver::OptionsEventReceiver(SOptionsContext &optionsContext):OptionsContext(optionsContext){}bool OptionsEventReceiver::OnEvent(const irr::SEvent& event){ if (event.GUIEvent.EventType == gui::EGET_BUTTON_CLICKED) {  s32 idBtn = event.GUIEvent.Caller->getID();  printf("Button Clicked: %d \n",idBtn);  switch(idBtn)  {   case PROFILE_BUTTON:   {    CProfileMenu *proMNU = new CProfileMenu(OptionsContext.device);OptionsContext.m_pPlayerProfileButton->setVisible(false);OptionsContext.m_pFavouritesButton->setVisible(false);OptionsContext.m_pMatchResultButton->setVisible(false);OptionsContext.m_pOptionsBackButton->setVisible(false);  proMNU->ProfileContext.m_pBackButton->setVisible(true);proMNU->ProfileContext.m_pTabCtl->setVisible(true);proMNU->ProfileContext.m_pOdiTab->setVisible(true);proMNU->ProfileContext.m_pT20Tab->setVisible(true);proMNU->ProfileContext.m_pTestTab->setVisible(true);proMNU->runGame();return true;    break;   }   case FAVOURITES_BUTTON:   {CFavoritesMenu *favMNU = new CFavoritesMenu(OptionsContext.device);OptionsContext.m_pPlayerProfileButton->setVisible(false);OptionsContext.m_pFavouritesButton->setVisible(false);OptionsContext.m_pMatchResultButton->setVisible(false);OptionsContext.m_pOptionsBackButton->setVisible(false);favMNU->FavoritesContext.m_pCtyLst->setVisible(true);favMNU->FavoritesContext.m_pCurrentTeam->setVisible(true);favMNU->FavoritesContext.m_pCurrentTheme->setVisible(true);favMNU->FavoritesContext.m_pFavoritesBackButton->setVisible(true);favMNU->FavoritesContext.m_pThemeLst->setVisible(true);favMNU->runGame();return true;break;   }   case MATCH_RESULT_BUTTON:   {CResultMenu* resMNU = new CResultMenu(OptionsContext.device);OptionsContext.m_pPlayerProfileButton->setVisible(false);OptionsContext.m_pFavouritesButton->setVisible(false);OptionsContext.m_pMatchResultButton->setVisible(false);resMNU->ResultContext.m_pbatting_inns1->setVisible(true);resMNU->ResultContext.m_pbatting_inns2->setVisible(true);resMNU->ResultContext.m_pbowling_inns1->setVisible(true);resMNU->ResultContext.m_pbowling_inns2->setVisible(true);resMNU->ResultContext.m_pinnings1->setVisible(true);resMNU->ResultContext.m_pinnings2->setVisible(true);//resMNU->ResultContext.m_pinns1BattingTxt->setVisible(true);resMNU->runGame();    return true;break;   }   case  OPTIONS_BACK_BUTTON:   {    CInitMenu *cInitMNU = new CInitMenu(OptionsContext.device);OptionsContext.m_pPlayerProfileButton->setVisible(false);OptionsContext.m_pFavouritesButton->setVisible(false);OptionsContext.m_pMatchResultButton->setVisible(false);OptionsContext.m_pOptionsBackButton->setVisible(false);cInitMNU->initMnuContext.m_pPlayButton->setVisible(true);cInitMNU->initMnuContext.m_pOptionsButton->setVisible(true);cInitMNU->initMnuContext.m_pCreditsButton->setVisible(true);cInitMNU->initMnuContext.m_pExitButton->setVisible(true);cInitMNU->runGame();    return true;break;   }   default:    return false;  }  return false; } return false;}COptionsMenu::COptionsMenu(IrrlichtDevice* device){ //IrrlichtDevice* device = createDevice(video::EDT_DIRECT3D9,core::dimension2d<u32>(640,480),16,false,false,false,0); dev = device; int width = 180; int height = 50; int x = (device->getVideoDriver()->getScreenSize().Width - 200)/2; int y = 100; SColor WHITE = video::SColor(255,255,255,255); SColor BLUE = video::SColor(255,0,0,255); gui::IGUISkin* skin = device->getGUIEnvironment()->createSkin(EGUI_SKIN_TYPE::EGST_WINDOWS_METALLIC); skin->setColor(gui::EGDC_BUTTON_TEXT,WHITE); skin->setColor(gui::EGDC_WINDOW,BLUE); device->getGUIEnvironment()->setSkin(skin); device->getSceneManager()->loadScene("Data/experimentalMenuSystem/Shop.irr"); device->getSceneManager()->addCameraSceneNode(0,core::vector3df(0,100,0),core::vector3df(0,0,100),-1,true); m_pPlayerProfileButton = device->getGUIEnvironment()->addButton(recti(x,y,x+width,y+height),0,PROFILE_BUTTON,L"Player Profile"); m_pPlayerProfileButton->setVisible(false); y = y+height; m_pFavouritesButton = device->getGUIEnvironment()->addButton(recti(x,y,x+width,y+height),0,FAVOURITES_BUTTON,L"Favorites"); m_pFavouritesButton->setVisible(false); y = y+height; m_pMatchResultButton = device->getGUIEnvironment()->addButton(recti(x,y,x+width,y+height),0,MATCH_RESULT_BUTTON,L"Match Result"); m_pMatchResultButton->setVisible(false); m_pOptionsBackButton = device->getGUIEnvironment()->addButton(recti(0,400,192,458),0,OPTIONS_BACK_BUTTON,L"Back"); m_pOptionsBackButton->setVisible(false); optionsContext.device = device; optionsContext.m_pPlayerProfileButton = m_pPlayerProfileButton; optionsContext.m_pFavouritesButton = m_pFavouritesButton; optionsContext.m_pMatchResultButton = m_pMatchResultButton; optionsContext.m_pOptionsBackButton = m_pOptionsBackButton;}void COptionsMenu::runGame(){ OptionsEventReceiver optReceiver(optionsContext); dev->setEventReceiver(&optReceiver); while(dev->run()) {  if (dev->isWindowActive())  {   dev->getVideoDriver()->beginScene(true, true, video::SColor(0,200,200,200));   dev->getSceneManager()->drawAll();   dev->getGUIEnvironment()->drawAll();   dev->getVideoDriver()->endScene();  } } //dev->drop();}This is ProfileMenu.cpp:#include <irrlicht.h>#include "../include/ProfileMenu.h"#include "../include/OptionsMenu.h"#include <memory.h>using namespace std;using namespace irr;using namespace core;using namespace video;using namespace gui;using namespace io;using namespace scene;ProfileEventReceiver::ProfileEventReceiver(SProfileMenuContext &profileContext):ProfileContext(profileContext){}bool ProfileEventReceiver::OnEvent(const irr::SEvent& event){ CProfileMenu* proMNU = new CProfileMenu(ProfileContext.device); u32 item; proMNU->tabSelected = ProfileContext.m_pTabCtl->getTab(ProfileContext.m_pTabCtl->getActiveTab())->getID();// tabCtl->getTab()->getID(); if((event.GUIEvent.EventType == gui::EGET_LISTBOX_CHANGED)||(event.GUIEvent.EventType == gui::EGET_LISTBOX_SELECTED_AGAIN)) {  IGUIListBox *list = (IGUIListBox *)event.GUIEvent.Caller;  proMNU->countryCode = list->getSelected();  proMNU->country = irr::core::stringw(list->getListItem(proMNU->countryCode));  proMNU->setTextToButtons(proMNU->country, proMNU->tabSelected);  proMNU->queryFromDB(proMNU->country, proMNU->tabSelected, proMNU->idBtn);  proMNU->fillStructure(proMNU->result, proMNU->profileData);  proMNU->clearBoxes(proMNU->tabSelected);  proMNU->createTextBoxes(ProfileContext.device, proMNU->tabSelected);   }  if(event.GUIEvent.EventType == gui::EGET_TAB_CHANGED) {  proMNU->tabCtl = (IGUITabControl*)event.GUIEvent.Caller;  printf("Tab Selected: %d\n", proMNU->tabSelected);  item = proMNU->m_pCountryCbo->getSelected();  proMNU->queryFromDB(proMNU->country, proMNU->tabSelected, proMNU->idBtn);  proMNU->fillStructure(result, proMNU->profileData);  core::stringc queryStr;  queryStr = L"Select DISTINCT Team from ";  switch(proMNU->tabSelected)  {   case TEST_TAB: queryStr += L"Test"; proMNU->clearBoxes(proMNU->tabSelected); proMNU->createTextBoxes(ProfileContext.device, proMNU->tabSelected);  break; case ODI_TAB: queryStr += L"ODI"; proMNU->clearBoxes(proMNU->tabSelected); proMNU->createTextBoxes(ProfileContext.device, proMNU->tabSelected);  break; case T20_TAB: queryStr += L"T20I"; proMNU->clearBoxes(proMNU->tabSelected); proMNU->createTextBoxes(ProfileContext.device, proMNU->tabSelected);  break; default: printf("Warning : wrong tab number passed : called from GUI Event() \n"); queryStr += L"Test"; } queryStr += L" ORDER BY Team DESC"; proMNU->ctyLst = proMNU->SQLdb.Query(queryStr); for(int i =0; i < proMNU->ctyLst.size(); i++ ) { if(strcmp(reinterpret_cast<const char*>(proMNU->m_pCountryCbo->getListItem(i)),(proMNU->ctyLst.c_str()))) break; else {  proMNU->m_pCountryCbo->addItem(irr::core::stringw(proMNU->ctyLst).c_str());  } } printf("No. Countries in the list:%d \n", proMNU->m_pCountryCbo->getItemCount()); //clearBoxes(pManager, tabSelected); //createTextBoxes(pManager, tabSelected);   } if(event.GUIEvent.EventType == gui::EGET_BUTTON_CLICKED) {  COptionsMenu *optMNU = new COptionsMenu(ProfileContext.device);  proMNU->idBtn = event.GUIEvent.Caller->getID();  switch(proMNU->idBtn)  {   case 0:   case 1:   case 2:   case 3:   case 4:   case 5:   case 6:   case 7:   case 8:   case 9:   case 10:   case 11: {  proMNU->queryFromDB(proMNU->country, proMNU->tabSelected, proMNU->idBtn);   proMNU->fillStructure(result, proMNU->profileData);  proMNU->setPressedImage(proMNU->idBtn);  proMNU->clearBoxes(proMNU->tabSelected);  proMNU->createTextBoxes(ProfileContext.device, proMNU->tabSelected);  return true;  break; }  case PLAYERPROFILE_BACK_BUTTON: {  proMNU->idBtn = 0;  ProfileContext.m_pBackButton->setVisible(false);  ProfileContext.m_pCountryCbo->setVisible(false);  ProfileContext.m_pTabCtl->setVisible(false);  ProfileContext.m_pOdiTab->setVisible(false);  ProfileContext.m_pTestTab->setVisible(false);  ProfileContext.m_pT20Tab->setVisible(false);  optMNU->optionsContext.m_pFavouritesButton->setVisible(true);  optMNU->optionsContext.m_pMatchResultButton->setVisible(true);  optMNU->optionsContext.m_pPlayerProfileButton->setVisible(true);  optMNU->optionsContext.m_pOptionsBackButton->setVisible(true);  optMNU->runGame(); }  default:  return false;  } } return false;}CProfileMenu::CProfileMenu(IrrlichtDevice* device){ dev = device; SQLdb.init("Data/config/playerDatabase.db"); SColor WHITE = video::SColor(255,255,255,255); SColor BLUE = video::SColor(255,0,0,255); gui::IGUISkin* skin = device->getGUIEnvironment()->createSkin(EGUI_SKIN_TYPE::EGST_WINDOWS_METALLIC); skin->setColor(gui::EGDC_BUTTON_TEXT,WHITE); skin->setColor(gui::EGDC_WINDOW,BLUE); device->getGUIEnvironment()->setSkin(skin); device->getSceneManager()->loadScene("Data/experimentalMenuSystem/Shop.irr"); device->getSceneManager()->addCameraSceneNode(0,core::vector3df(0,100,0),core::vector3df(0,0,100),-1,true); m_pBackButton = device->getGUIEnvironment()->addButton(recti(0,400,192,458), 0, PLAYERPROFILE_BACK_BUTTON, L"Back"); m_pBackButton->setVisible(false); m_pCountryCbo = device->getGUIEnvironment()->addListBox(irr::core::rect<s32>(10, 10, 155, 100), 0, COUNTRY_LIST);  m_pCountryCbo->setAutoScrollEnabled(true); ctyLst = SQLdb.Query("Select DISTINCT Team from Test ORDER BY Team DESC"); const video::SColor GREEN = video::SColor(255,0,255,0); skin->setColor(EGDC_HIGH_LIGHT_TEXT, GREEN); skin->setColor(EGDC_HIGH_LIGHT, SColor(255, 75, 45, 6)); for(int i =0; i < ctyLst.size(); i++ ) { printf("%s \n",ctyLst.c_str()); m_pCountryCbo->addItem(irr::core::stringw(ctyLst).c_str()); } country = irr::core::stringw(m_pCountryCbo->getListItem(0)); //added to avoid the initial crash s32 uright_x = 10; s32 uright_y = 100; s32 lleft_x =  80; s32 lleft_y =  120; s32 id_btn = 0; for(u32 i = 0; i < 11;i++) {  m_pPlayerBtn.push_back(device->getGUIEnvironment()->addButton(rect<s32>(uright_x, uright_y, lleft_x+75, lleft_y+5), 0, id_btn++, 0, 0));    uright_y+=25;  lleft_y+=25;  m_pPlayerBtn->setDrawBorder( false);  m_pPlayerBtn->setIsPushButton(true);  m_pPlayerBtn->setPressedImage(device->getVideoDriver()->getTexture("Data/FE/PlayerProfile/pressed.png")); } m_pTabCtl = device->getGUIEnvironment()->addTabControl(rect<s32>(220, 20, 580, 400 + 32), 0, false, false,16); device->getGUIEnvironment()->getRootGUIElement()->bringToFront(m_pTabCtl); m_pTestTab = m_pTabCtl->addTab(L"Tests", TEST_TAB); m_pOdiTab = m_pTabCtl->addTab(L"ODIs", ODI_TAB); m_pT20Tab = m_pTabCtl->addTab(L"T20s", T20_TAB);   m_pTabCtl->setActiveTab(m_pTestTab);   ProfileContext.m_pBackButton = m_pBackButton; //ProfileContext.m_pPlayerBtn = m_pPlayerBtn; ProfileContext.m_pTabCtl = m_pTabCtl; ProfileContext.m_pCountryCbo = m_pCountryCbo; ProfileContext.m_pOdiTab = m_pOdiTab; ProfileContext.m_pT20Tab = m_pT20Tab; ProfileContext.m_pTestTab = m_pTestTab; setTextToButtons(stringw("Australia"), tabSelected); printf("Player List Size:%d \n",playerLst.size());   idBtn = 0; setPressedImage(idBtn); queryFromDB(country, TEST_TAB, idBtn); fillStructure(result, profileData); createTextBoxes(device, TEST_TAB); createTextBoxes(device, ODI_TAB); createTextBoxes(device, T20_TAB);}ProfileEventReceiver::~ProfileEventReceiver(){ }void CProfileMenu::setTextToButtons(stringw& country, int tabSelected){stringw query;query = L"Select Name from ";switch(tabSelected){case TEST_TAB:query += L"Test";break;case ODI_TAB:query += L"ODI";break;case T20_TAB:query += L"T20I";break;default:query += L"Test";}query += L" WHERE Team = '";query +=country.trim();query +="' ORDER BY RANDOM() LIMIT 11";printf("%S\n",query.c_str());playerLst = SQLdb.Query(query);for(int i = 0; i < 11; i++){m_pPlayerBtn->setText(irr::core::stringw(playerLst).c_str());std::wcout<<irr::core::stringw(playerLst).c_str()<<std::endl;}}void CProfileMenu::queryFromDB(stringw& country, int tabId, int idBtn){stringw query;query = L"Select * FROM ";switch(tabSelected){case TEST_TAB:query += L"Test";break;case ODI_TAB:query += L"ODI";break;case T20_TAB:query += L"T20I";break;default:query += L"Test";}query += L" WHERE Team = '";query +=country.trim(); query +=L"'";query +=L" AND Name like '%";query += m_pPlayerBtn[idBtn]->getText();query = query.trim();query +=L"%'";printf("%s\n",query.c_str());result = SQLdb.QueryMultipleRows(query);for(int i = 0; i<result.size(); i++){printf("%s \n",result.c_str());}}void CProfileMenu::fillStructure(const irr::core::array<irr::core::stringc> result, playerData &profileData){ profileData.matches = atoi(result[2].c_str()); profileData.balls = atoi(result[10].c_str()); profileData.bestbowling = result[14].c_str(); profileData.catches = atoi(result[9].c_str()); profileData.fifty = atoi(result[8].c_str()); profileData.fivewkt = atoi(result[15].c_str()); profileData.highest = result[6].c_str(); profileData.hundred = atoi(result[7].c_str()); profileData.innings = atoi(result[3].c_str()); profileData.notouts = atoi(result[4].c_str()); profileData.runs = atoi(result[5].c_str()); profileData.runs_given = atoi(result[11].c_str()); profileData.strikerate = atoi(result[13].c_str()); profileData.wickets = atoi(result[12].c_str());  }void CProfileMenu::setPressedImage(int idx){ for(int i = 0; i < 11; i++) {  if(i == idx)    m_pPlayerBtn->setPressed(true);  else    m_pPlayerBtn->setPressed(false); }}void CProfileMenu::createTextBoxes(irr::IrrlichtDevice* device, int tabId){irr::gui::IGUITab* tab;if(tabId == TEST_TAB) tab = m_pTestTab;else if(tabId == ODI_TAB) tab= m_pOdiTab;else if(tabId== T20_TAB) tab = m_pT20Tab;else {printf("Warning: Wrong Tab, Check the source \n");return;}bool bBorder = false;stringw matches = L"";matches += profileData.matches;matchesTxt = dev->getGUIEnvironment()->addStaticText(matches.c_str(), rect<s32>(20, 30, 110, 60), bBorder, false, tab, 20, bBorder);stringw innings = L"";innings += profileData.innings;inningsTxt = dev->getGUIEnvironment()->addStaticText(innings.c_str(), rect<s32>(245, 30, 355, 60), bBorder, false, tab, 21, bBorder);stringw runs = L"";runs += profileData.runs;runsTxt = dev->getGUIEnvironment()->addStaticText(runs.c_str(), rect<s32>(20, 120, 110, 150), bBorder, false, tab, 22, bBorder);stringw highest = L"";highest += profileData.highest;highestTxt = dev->getGUIEnvironment()->addStaticText(highest.c_str(), rect<s32>(125, 120, 215, 150), bBorder, false, tab, 23, bBorder);stringw notouts = L"";notouts += profileData.notouts;notoutsTxt = dev->getGUIEnvironment()->addStaticText(notouts.c_str(), rect<s32>(245, 120, 355, 150), bBorder, false, tab, 24, bBorder);stringw hundred = L"";hundred += profileData.hundred;hundredTxt = dev->getGUIEnvironment()->addStaticText(hundred.c_str(), rect<s32>(20, 170, 110, 200), bBorder, false, tab, 25, bBorder);stringw fifty = L"";fifty += profileData.fifty;fiftyTxt = dev->getGUIEnvironment()->addStaticText(fifty.c_str(), rect<s32>(125, 170, 215, 200), bBorder, false, tab, 26, bBorder);stringw strikerate = L"";strikerate += profileData.strikerate;strikerateTxt = dev->getGUIEnvironment()->addStaticText(strikerate.c_str(), rect<s32>(245, 170, 355, 200), bBorder, false, tab, 27, bBorder);stringw balls = L"";balls += profileData.balls;ballsTxt = dev->getGUIEnvironment()->addStaticText(balls.c_str(), rect<s32>(20, 272, 110, 302), bBorder, false, tab, 28, bBorder);stringw wickets = L"";wickets += profileData.wickets;wicketsTxt = dev->getGUIEnvironment()->addStaticText(wickets.c_str(), rect<s32>(125, 272, 215, 302), bBorder, false, tab, 29, bBorder);stringw catches = L"";catches += profileData.catches;catchesTxt = dev->getGUIEnvironment()->addStaticText(catches.c_str(), rect<s32>(245, 272, 355, 302), bBorder, false, tab, 30, bBorder);stringw runs_given = L"";runs_given += profileData.runs_given;runs_givenTxt = dev->getGUIEnvironment()->addStaticText(runs_given.c_str(), rect<s32>(20, 332, 110, 362), bBorder, false, tab, 31, bBorder);stringw fivewkt = L"";fivewkt += profileData.fivewkt;fivewktTxt = dev->getGUIEnvironment()->addStaticText(fivewkt.c_str(), rect<s32>(125, 332, 215, 362), bBorder, false, tab, 32, bBorder);stringw bestbowling = L"";bestbowling += profileData.bestbowling;bestbowlingTxt = dev->getGUIEnvironment()->addStaticText(bestbowling.c_str(), rect<s32>(245, 332, 355, 362), bBorder, false, tab, 33, bBorder); ProfileContext.ballsTxt = ballsTxt;ProfileContext.bestbowlingTxt = bestbowlingTxt;ProfileContext.catchesTxt = catchesTxt;ProfileContext.fiftyTxt = fiftyTxt;ProfileContext.fivewktTxt = fivewktTxt;ProfileContext.highestTxt = highestTxt;ProfileContext.hundredTxt = hundredTxt;ProfileContext.inningsTxt = inningsTxt;ProfileContext.matchesTxt = matchesTxt;ProfileContext.notoutsTxt = notoutsTxt;ProfileContext.runs_givenTxt = runs_givenTxt;ProfileContext.runsTxt = runsTxt;ProfileContext.strikerateTxt = strikerateTxt;ProfileContext.wicketsTxt = wicketsTxt;}void CProfileMenu::clearBoxes(int tabId){irr::gui::IGUITab* curTab;if(tabId == TEST_TAB) curTab = m_pTestTab;else if(tabId == ODI_TAB) curTab = m_pOdiTab;else if(tabId== T20_TAB) curTab = m_pT20Tab;else {printf("Warning: Wrong Tab, Check the source \n");return;}for(int i = 20; i <= 33; i++){curTab->getElementFromId(i)->remove();}}void CProfileMenu::runGame(){ ProfileEventReceiver proReceiver(ProfileContext); dev->setEventReceiver(&proReceiver); while(dev->run()) {    if (dev->isWindowActive())  {   dev->getVideoDriver()->beginScene(true, true, video::SColor(0,200,200,200));   dev->getSceneManager()->drawAll();   dev->getGUIEnvironment()->drawAll();   dev->getVideoDriver()->endScene();  } }}This is the debug call stack:>SlogOut3D.exe!CProfileMenu::CProfileMenu(irr::IrrlichtDevice * device=0x01563ad0)  Line 137C++ SlogOut3D.exe!OptionsEventReceiver::OnEvent(const irr::SEvent & event={...})  Line 31 + 0x37 bytesC++ Irrlicht.dll!1000dccf()  [Frames below may be incorrect and/or missing, no symbols loaded for Irrlicht.dll] Irrlicht.dll!10002d28()  Irrlicht.dll!1000e1b6()  Irrlicht.dll!101325ae()  Irrlicht.dll!101333b3()  igdumd32.dll!0301adb0()  igdumd32.dll!02f8155b()  d3d9.dll!72688041()  msctf.dll!76b01845()  msctf.dll!76b1e677()  msctf.dll!76b1e6e2()  msctf.dll!76b1e6e2()  msctf.dll!76b02501()  msctf.dll!76b02501()  user32.dll!768c9cc2()  user32.dll!768cfd72()  user32.dll!768cfe4a()  user32.dll!768cfdf3()  user32.dll!768d018d()  user32.dll!768c8343()  Irrlicht.dll!10134005()  SlogOut3D.exe!CInitMenu::runGame()  Line 113 + 0x14 bytesC++ SlogOut3D.exe!main()  Line 107C++ SlogOut3D.exe!__tmainCRTStartup()  Line 586 + 0x19 bytesC SlogOut3D.exe!mainCRTStartup()  Line 403C kernel32.dll!767ed0e9()  ntdll.dll!770119bb()  ntdll.dll!7701198e()  SlogOut3D.exe!btUnionFind::~btUnionFind()  + 0x3c bytesI've included the code listing for CProfileMenu::CProfileMenu(irr::IrrlichtDevice * device), OptionsEventReceiver::OnEvent(const irr::SEvent & event) and CInitMenu::runGame() above. What I've done wrong? What to do to run my game with out crash?   ;  I'm fairly sure the issue is stemming from the fact that you are running a game loop inside an event handler. You likely shouldn't be calling runGame(); from inside OnEvent();.Just put a breakpoint in the OnEvent handler and step through. My guess is: Either you have infinite recursion on OnEvent->runGame->OnEvent->runGame....... OR one of the dev-> calls is recursing because you call beginScene but it never reaches the corresponding endScene due to the recursive nature of your menus.;  Hi!   Can you please tell me how to implement menu transitions(If I  click Options Button in the initial menu, Options menu has to load with 4 buttons. One of the buttons must be Back button and if clicked, it should take you to the initial menu. If I click Profile button, profile menu has to load. It must also contain back button. If clicked, it should take u to the previous menu i.e Options Menu) using classes? What modifications has to be done in the above code?   ;  anyone please?   ;  Oh dear, that code is seriously breaking the Law of Demeter.I've only seen worse on one other occasion in the last ten years, and it was incredibly shocking!In summary:Bad:cInitMNU->initMnuContext.m_pPlayButton->setVisible(true);cInitMNU->initMnuContext.m_pOptionsButton->setVisible(true);cInitMNU->initMnuContext.m_pCreditsButton->setVisible(true);cInitMNU->initMnuContext.m_pExitButton->setVisible(true);Good:cInitMNU->ShowButtons(true);For now let's just say that crashes are the least of your worries. You have some nasty habbits that need to be broken. You have a lot of learning ahead of you. Probably the best thing would be if you could get a personal tutor, but that's probably not going to happen I imagine.The main things are basically reducing repetition, taking a good hard look at roles and responsibilities, and eventually ending up with code that is much shorter and tidier, and (as a bare minumum) somewhat reusable components, not just in other programs, but within this program.I encourage you to start by having a good read of the link I posted, and possibly search for other links related to that topic, and then try showing some of your attempts at improving the code. If you're planning on getting a job as a developer then this should be your top priority.Whilst you make an effort there, we'll see if we can't also help improve your debugging knowledge.   