Sign in to follow this  

Stack Overflow

This topic is 2658 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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]

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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[i].c_str())))
break;
else
{
proMNU->m_pCountryCbo->addItem(irr::core::stringw(proMNU->ctyLst[i]).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[i].c_str());
m_pCountryCbo->addItem(irr::core::stringw(ctyLst[i]).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[i]->setDrawBorder( false);
m_pPlayerBtn[i]->setIsPushButton(true);
m_pPlayerBtn[i]->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[i]->setText(irr::core::stringw(playerLst[i]).c_str());
std::wcout<<irr::core::stringw(playerLst[i]).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[i].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[i]->setPressed(true);
else
m_pPlayerBtn[i]->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 137 C++
SlogOut3D.exe!OptionsEventReceiver::OnEvent(const irr::SEvent & event={...}) Line 31 + 0x37 bytes C++
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 bytes C++
SlogOut3D.exe!main() Line 107 C++
SlogOut3D.exe!__tmainCRTStartup() Line 586 + 0x19 bytes C
SlogOut3D.exe!mainCRTStartup() Line 403 C
kernel32.dll!767ed0e9()
ntdll.dll!770119bb()
ntdll.dll!7701198e()
SlogOut3D.exe!btUnionFind::~btUnionFind() + 0x3c bytes






I'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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

This topic is 2658 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this