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:

  1. Open Atlas
  2. Switch to Object tab
  3. Switch to actor viewer
  4. 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.

Change History (1)

comment:1 by historic_bruno, 9 years ago

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).

Note: See TracTickets for help on using tickets.