Error during shutdown

shanefarris

17-02-2011 21:23:37

I got a critical error while shutting down the GUI.

15:19:23 | Core | Info | Gui successfully initialized | ..\..\MyGUIEngine\src\MyGUI_Gui.cpp | 129
15:19:35 | Core | Info | load layout 'Editor.layout' | ..\..\MyGUIEngine\src\MyGUI_LayoutManager.cpp | 74
15:19:35 | Core | Warning | Widget_Show is obsolete, use Widget_Visible | ..\..\MyGUIEngine\src\MyGUI_Widget.cpp | 1603
15:19:35 | Core | Warning | Widget_FontHeight is obsolete, use Text_FontHeight | ..\..\MyGUIEngine\src\MyGUI_Widget.cpp | 1588
15:19:35 | Core | Warning | Sheet_Select is obsolete, use TabItem_Select | ..\..\MyGUIEngine\src\MyGUI_TabItem.cpp | 108
15:19:56 | Core | Info | load layout 'Properties.layout' | ..\..\MyGUIEngine\src\MyGUI_LayoutManager.cpp | 74
15:20:17 | Core | Critical | This should never happen - mVoidBuffer should never contain something if we don't know the type | d:\projects\mygui\trunk\myguiengine\include\MyGUI_UString.h | 2520



Here is my code:

if(m_GUI)
{
m_GUI->destroyAllChildWidget();
m_GUI->shutdown();
delete m_GUI;
m_GUI = NULL;
}


I have two layouts, and it works if I only shutdown the one layout, but the second isn't visible and if I instantiate that layout, it will fail.

Altren

17-02-2011 23:00:55

Try to debug this or show callstack. It crashes in UString destructor (same as Ogre::UTFString), so this looks like heap corruption or something like that, because there's no normal way how we can get there.