When I'm using CEGUI with Ogre3D in Direct3D9 mode in Windows 7 with ATI drivers, if I alt tab from my game to other DirectX game and then go back to my game, all the CEGUI windows disappear temporarily. Now, as I hover over the buttons, the buttons start to turn visible. Making a window invisible and then visible again fixes the problem. I don't attach the log because there are no messages when this happens.
So currently I have this workaround, every time the application gets focus I "reset" the gui by making every window that is supposed to be visible invisible and then visible again:
Code: Select all
CEGUI::WindowManager::WindowIterator it = m_windowManager->getIterator();
it.toStart();
while (!it.isAtEnd()){
if ((*it)->isVisible()){
(*it)->hide();
(*it)->show();
}
it++;
}
This is a hack though, so I thought I'd ask in case somebody knows what could be causing the problem.