Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Do an application frame
- void CRuntime::PostFrame(bool present): (Runtime/MainLoop.cpp)
- ...
- RunEventList();
- ...
- |
- v
- void CRuntime::RunEventList(): (Runtime/MainLoop.cpp)
- list<CRunLayout*>::iterator f = runningFrames.begin();
- ...
- // Unload old frame
- (*f)->Unload();
- // Replace this running frame
- *f = pNewFrame;
- changeFrame = -1;
- (*f)->Load(); <-------
- ...
- |
- v
- void CRunLayout::Load(): (Runtime/Textures.cpp)
- ...
- LoadLayoutTextures();
- |
- v
- void CRunLayout::LoadLayoutTextures(): (Runtime/Textures.cpp)
- ImageHandleIterator i = used_image_handles.begin();
- ImageHandleIterator end = used_image_handles.end();
- for ( ; i != end; ++i) {
- // Not in VRAM: create it (textures are created with 0 references)
- if (!(*i)->IsInVRAM(pRuntime->renderer))
- (*i)->TransferToVRAM(pRuntime->renderer); <-------
- // This layout now references this texture
- (*i)->th->IncrementReferences(); <------- Краш, т.к. th == NULL
- }
- ...
- |
- v
- void ImageHandleInfo::TransferToVRAM(Renderer& renderer): (Runtime/Textures.cpp)
- ...
- th = renderer.CreateTextureFromFileInMemory(pngFile, pngFileSize);
- |
- v
- TextureHandle CDX9Renderer::CreateTextureFromFileInMemory(LPCVOID pData, uint len, texture_format format, bool premultiply): (Common/Renderers/CDX9Renderer.cpp)
- // Can't call during lost device
- if (device_is_lost)
- return NULL; <------
- ...
Add Comment
Please, Sign In to add comment