Opened 9 years ago
Last modified 9 years ago
#3067 new defect
[ATLAS] Crash opening map from object tab and switching to actor viewer
Reported by: | historic_bruno | Owned by: | |
---|---|---|---|
Priority: | Should Have | Milestone: | Backlog |
Component: | Atlas editor | Keywords: | |
Cc: | Patch: |
Description
Steps to reproduce:
- Open Atlas
- Switch to Object tab
- Switch to actor viewer
- Crash:
msvcr120.dll!_memcpy() Unknown pyrogenesis.exe!__alloca_probe_8() C++ pyrogenesis.exe!ActorViewerImpl::EnumerateObjects(const CFrustum & frustum, SceneCollector * c) Line 115 C++ > pyrogenesis.exe!CRenderer::RenderScene(Scene & scene) Line 1820 C++ pyrogenesis.exe!ActorViewer::Render() Line 512 C++ pyrogenesis.exe!AtlasViewActor::Render() Line 92 C++ pyrogenesis.exe!RunEngine(void * data) Line 231 C++ pyrogenesis.exe!thread_start(void * param) Line 624 C++ [External Code] [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
Test system: Windows 7 64-bit, AMD Radeon HD 6850
Possibly related to #1321.
Note:
See TracTickets
for help on using tickets.
This happens because actor viewer is initialized when the object tab is opened, and one of the things it does is create a blank terrain. The terrain references a texture from the global terrain texture manager
g_TexMan
. When a new map is loaded, those textures are unloaded and reloaded again, causing actor viewer's terrain to hold a bunch of invalid pointers (or randomly, valid pointers to the wrong textures).