I've started a little project that makes use of some very classic bricks: Ogre, OIS, CEGUI and Bullet. So far things go great, I'm fixing one little thing after the other. I got to the point where I need to fix the behavior of my app when resizing the window. Naturally, I turned to notifyDisplayChanged to do most of the job on the CEGUI side. I use it inside my windowResized event in my WindowEventListener.
Code: Select all
void WindowEventListener::windowResized (Ogre::RenderWindow* rw)
{
unsigned int width, height, depth;
int left, top;
rw->getMetrics (width, height, depth, left, top);
const OIS::MouseState &ms = Application::getSingleton().getMouse()->getMouseState();
ms.width = width;
ms.height = height;
//Notify CEGUI of the window size change
CEGUI::System::getSingleton().notifyDisplaySizeChanged(CEGUI::Sizef(static_cast <float>(width), static_cast <float>(height)));
}
This code results in a segfault at the time of the execution of CEGUI::System::ImageManager::notifyDisplaySizeChanged.
Code: Select all
21/04/2016 09:44:35 (Std) ---- Version: 0.8.5 (Build: Apr 20 2016 GNU/Linux g++ 5.3.0 64 bit) ----
21/04/2016 09:44:35 (Std) ---- Renderer module is: CEGUI::OgreRenderer - Official OGRE based 2nd generation renderer module. ----
21/04/2016 09:44:35 (Std) ---- XML Parser module is: CEGUI::ExpatParser - Official expat based parser module for CEGUI ----
21/04/2016 09:44:35 (Std) ---- Image Codec module is: OgreImageCodec - Integrated ImageCodec using the Ogre engine. ----
21/04/2016 09:44:35 (Std) ---- Scripting module is: None ----
Stack trace http://pastebin.com/rBny3brz
If there's any info I can provide to help, I'd be happy to. Would it be worth building a debug build of CEGUI and link against it ? Do you guys want the full cegui log file ?
Cheers,
Marc.