I'm having a heap crash when I shutdown CEGUI. I'm using a custom rendering, parser, and codec.
15/11/2010 11:28:14 (Std) ---- Renderer module is: CEGUI Renderer ----
15/11/2010 11:28:14 (Std) ---- XML Parser module is: PugiXML Parser ----
15/11/2010 11:28:14 (Std) ---- Image Codec module is: PNG Image Codec ----
15/11/2010 11:28:14 (Std) ---- Scripting module is: None ----
CEGUIFalagardWRBase_d.dll!_CrtIsValidHeapPointer(const void * pUserData=0x157c08b0) Line 2103 C++
CEGUIFalagardWRBase_d.dll!_free_dbg_nolock(void * pUserData=0x157c08b0, int nBlockUse=1) Line 1317 + 0x9 bytes C++
CEGUIFalagardWRBase_d.dll!_free_dbg(void * pUserData=0x157c08b0, int nBlockUse=1) Line 1258 + 0xd bytes C++
CEGUIFalagardWRBase_d.dll!operator delete(void * pUserData=0x157c08b0) Line 54 + 0x10 bytes C++
CEGUIFalagardWRBase_d.dll!CEGUI::BoundSlot::`scalar deleting destructor'() + 0x46 bytes C++
CEGUIFalagardWRBase_d.dll!CEGUI::RefCounted<CEGUI::BoundSlot>::release() Line 186 + 0x2d bytes C++
CEGUIFalagardWRBase_d.dll!CEGUI::RefCounted<CEGUI::BoundSlot>::~RefCounted<CEGUI::BoundSlot>() Line 84 C++
CEGUIFalagardWRBase_d.dll!CEGUI::RefCounted<CEGUI::BoundSlot>::`scalar deleting destructor'() + 0x2b bytes C++
CEGUIFalagardWRBase_d.dll!std::_Destroy<CEGUI::RefCounted<CEGUI::BoundSlot> >(CEGUI::RefCounted<CEGUI::BoundSlot> * _Ptr=0x0ffc81e0) Line 60 C++
CEGUIFalagardWRBase_d.dll!std::allocator<CEGUI::RefCounted<CEGUI::BoundSlot> >::destroy(CEGUI::RefCounted<CEGUI::BoundSlot> * _Ptr=0x0ffc81e0) Line 160 + 0x9 bytes C++
CEGUIFalagardWRBase_d.dll!std::_Destroy_range<std::allocator<CEGUI::RefCounted<CEGUI::BoundSlot> > >(CEGUI::RefCounted<CEGUI::BoundSlot> * _First=0x0ffc81e0, CEGUI::RefCounted<CEGUI::BoundSlot> * _Last=0x0ffc8200, std::allocator<CEGUI::RefCounted<CEGUI::BoundSlot> > & _Al={...}, std::_Nonscalar_ptr_iterator_tag __formal={...}) Line 234 + 0xc bytes C++
CEGUIFalagardWRBase_d.dll!std::_Destroy_range<std::allocator<CEGUI::RefCounted<CEGUI::BoundSlot> > >(CEGUI::RefCounted<CEGUI::BoundSlot> * _First=0x0ffc81e0, CEGUI::RefCounted<CEGUI::BoundSlot> * _Last=0x0ffc8200, std::allocator<CEGUI::RefCounted<CEGUI::BoundSlot> > & _Al={...}) Line 225 + 0x2f bytes C++
CEGUIFalagardWRBase_d.dll!std::vector<CEGUI::RefCounted<CEGUI::BoundSlot>,std::allocator<CEGUI::RefCounted<CEGUI::BoundSlot> > >::_Destroy(CEGUI::RefCounted<CEGUI::BoundSlot> * _First=0x0ffc81e0, CEGUI::RefCounted<CEGUI::BoundSlot> * _Last=0x0ffc8200) Line 1124 + 0x14 bytes C++
CEGUIFalagardWRBase_d.dll!std::vector<CEGUI::RefCounted<CEGUI::BoundSlot>,std::allocator<CEGUI::RefCounted<CEGUI::BoundSlot> > >::erase(std::_Vector_const_iterator<CEGUI::RefCounted<CEGUI::BoundSlot>,std::allocator<CEGUI::RefCounted<CEGUI::BoundSlot> > > _First_arg={d_object=0x157c08b0 d_count=0x157c0938 }, std::_Vector_const_iterator<CEGUI::RefCounted<CEGUI::BoundSlot>,std::allocator<CEGUI::RefCounted<CEGUI::BoundSlot> > > _Last_arg={d_object=0xfdfdfdfd d_count=0xabababab }) Line 1054 C++
CEGUIFalagardWRBase_d.dll!std::vector<CEGUI::RefCounted<CEGUI::BoundSlot>,std::allocator<CEGUI::RefCounted<CEGUI::BoundSlot> > >::clear() Line 1065 + 0xaa bytes C++
CEGUIFalagardWRBase_d.dll!CEGUI::FalagardStaticText::onLookNFeelUnassigned() Line 469 C++
CEGUIBase_d.dll!CEGUI::Window::destroy() Line 1742 + 0x1d bytes C++
CEGUIBase_d.dll!CEGUI::WindowManager::destroyWindow(const CEGUI::String & window={...}) Line 225 + 0xf bytes C++
CEGUIBase_d.dll!CEGUI::WindowManager::destroyWindow(CEGUI::Window * window=0x157af640) Line 205 C++
CEGUIBase_d.dll!CEGUI::Window::cleanupChildren() Line 1319 C++
CEGUIBase_d.dll!CEGUI::Window::destroy() Line 1760 + 0x12 bytes C++
CEGUIBase_d.dll!CEGUI::WindowManager::destroyWindow(const CEGUI::String & window={...}) Line 225 + 0xf bytes C++
CEGUIBase_d.dll!CEGUI::WindowManager::destroyWindow(CEGUI::Window * window=0x157a9768) Line 205 C++
CEGUIBase_d.dll!CEGUI::Window::cleanupChildren() Line 1319 C++
CEGUIBase_d.dll!CEGUI::Window::destroy() Line 1760 + 0x12 bytes C++
CEGUIBase_d.dll!CEGUI::WindowManager::destroyWindow(const CEGUI::String & window={...}) Line 225 + 0xf bytes C++
CEGUIBase_d.dll!CEGUI::WindowManager::destroyAllWindows() Line 282 C++
CEGUIBase_d.dll!CEGUI::System::~System() Line 359 C++
CEGUIBase_d.dll!CEGUI::System::`vector deleting destructor'() + 0x6c bytes C++
CEGUIBase_d.dll!CEGUI::System::destroy() Line 1897 + 0x36 bytes C++
Both are debug versions, and they are both linked against the Multithreaded Debug (as opposed to Multithread Debug DLL). Any ideas?