simed
24-11-2011 13:09:08
I've been using TreeControl for a bit but I think I found a bug. I have a tree as a child of a window and when I delete the parent window, I get a crash. Stack trace is:
Can anyone advise... I know TreeControl is still in development but some kind of workaround is really needed if the bug is in MyGUI code?
> simed_d.exe!MyGUI::TreeControl::Node::prepare() Line 43 + 0x3 bytes C++
simed_d.exe!MyGUI::TreeControl::Node::prepareChildren() Line 54 C++
simed_d.exe!MyGUI::TreeControl::notifyFrameEntered(float nTime=0.022000000) Line 217 + 0xe bytes C++
simed_d.exe!MyGUI::delegates::CMethodDelegate1<MyGUI::TreeControl,float>::invoke(float p1=0.022000000) Line 116 + 0x1d bytes C++
MyGUIEngine_d.dll!MyGUI::delegates::CMultiDelegate1<float>::operator()(float p1=0.022000000) Line 325 + 0x23 bytes C++
MyGUIEngine_d.dll!MyGUI::Gui::frameEvent(float _time=0.022000000) Line 349 C++
MyGUIEngine_d.dll!MyGUI::RenderManager::onFrameEvent(float _time=0.022000000) Line 64 C++
simed_d.exe!MyGUI::OgreRenderManager::renderQueueStarted(unsigned char queueGroupId='d', const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & invocation="", bool & skipThisInvocation=false) Line 195 + 0x33 bytes C++
I've checked and the TreeControl IS destroyed - TreeControl::mpRoot == 0xfeeefeee. So the crash is because TreeControl::Node doesn't exist but a method is called on it. It seems like for some reason, MyGUI doesn't remove the TreeControl from the list of renderable widgets (other Widgets are not giving the same issue). But I would expect that to be low-level functionality of Widget so I'm a bit confused.Can anyone advise... I know TreeControl is still in development but some kind of workaround is really needed if the bug is in MyGUI code?