hmoraldo:
I spent some time to learn about linking and figured out how to include the code without pasting it directly inside mine so now it's clean like it should be. I also moved the declaration of ogre2dManager into the public section, but the result is still the same crash.
The node code is
here
I'm not sure what a stracktrace is, but this was the most useful-looking info I saw in the IDE:
Code: Select all
> test_2d.exe!std::list<Ogre2dSprite,std::allocator<Ogre2dSprite> >::end() Line 538 + 0x7 bytes C++
test_2d.exe!std::list<Ogre2dSprite,std::allocator<Ogre2dSprite> >::push_back(const Ogre2dSprite & _Val={...}) Line 654 + 0x18 bytes C++
test_2d.exe!Ogre2dManager::spriteBltFull(std::basic_string<char,std::char_traits<char>,std::allocator<char> > textureName="10points.png", double x1=-0.50000000000000000, double y1=0.50000000000000000, double x2=0.50000000000000000, double y2=-0.50000000000000000, double tx1=0.00000000000000000, double ty1=0.00000000000000000, double tx2=1.0000000000000000, double ty2=1.0000000000000000) Line 304 C++
test_2d.exe!TutorialFrameListener::frameStarted(const Ogre::FrameEvent & evt={...}) Line 36 C++
OgreMain_d.dll!10a56866()
[Frames below may be incorrect and/or missing, no symbols loaded for OgreMain_d.dll]
OgreMain_d.dll!10a56ed8()
OgreMain_d.dll!10a5750b()
OgreMain_d.dll!10a57481()
test_2d.exe!ExampleApplication::go() Line 58 + 0xe bytes C++
test_2d.exe!WinMain(HINSTANCE__ * hInst=0x00400000, HINSTANCE__ * __formal=0x00000000, char * strCmdLine=0x00151f03, HINSTANCE__ * __formal=0x00000000) Line 187 + 0x8 bytes C++
test_2d.exe!__tmainCRTStartup() Line 578 + 0x35 bytes C
test_2d.exe!WinMainCRTStartup() Line 403 C
kernel32.dll!7c816d4f()
kernel32.dll!7c8399f3()
msvcr80d.dll!_wstat32(const unsigned short * name=0x0073006f, _stat32 * buf=0x0066006f) Line 298 + 0xc bytes C
msvcr80d.dll!_wstat32(const unsigned short * name=0x0073006f, _stat32 * buf=0x0066006f) Line 298 + 0xc bytes C
msvcr80d.dll!_wstat32(const unsigned short * name=0x00650074, _stat32 * buf=0x0033006d) Line 298 + 0xc bytes C
msvcr80d.dll!_tsopen_nolock(int * punlock_flag=0x00cb45c6, int * pfh=0x558d016a, const char * path=0x458b52cb, int oflag=1359514380, int shflag=1136616, int pmode=214205184, int bSecure=1064681605) Line 463 + 0x11 bytes C
00000093()
Edit: I should probably add that the code does run on it's own, and commenting out the call to the blit function in frame start also makes it run fine, so the error is down to that. Also as I said earlier, completely commenting out
Code: Select all
Ogre2dManager* ogre2dManager=new Ogre2dManager;
ogre2dManager->init(mSceneMgr, Ogre::RENDER_QUEUE_OVERLAY, true);
does not change the error, so the program is behaving as though the above is not called or called in the wrong scope?