Page 1 of 1

CEGUI cause crashes in Ogre when going into full screen

Posted: Thu Nov 20, 2008 19:29
by juliusctw
Hello

Hello, I have been getting this error in windows and not Linux, when I try to go into a fullscreen mode, my program would crash and in the log file it would say

Direct3D Device Lost!

The set full screen works most of the time, and I was able to trace it to the fact that I had some CEGUI image windows. This seems to be a rather serious problem, and I was wondering if anyone knows how to solve this problem.

I have asked people in the ogre forum about the problem and they said that its a cegui problem

http://www.ogre3d.org/phpBB2/viewtopic. ... 62ff267535

This only happens in Windows, it works fine in linux , I am currently using the Ogre SDK 1.6

Posted: Thu Nov 20, 2008 20:01
by CrazyEddie
Hi, and welcome :)

I've not had any chance to test this, but will just say that if there is an issue it will be within the Ogre specific CEGUI renderer module that is contained within the Ogre project source tree. Currently nobody on the CEGUI project has write access to this - so we will be unable to affect a fix directly.

I'll try and test this over the weekend (no promises mind, I already have other things on the agenda), and maybe I'll be able to post a patch if I can see an obvious fix.

Is there any chance you could post some minimal code to reproduce the issue, to save us having to write our own test? This would be most useful and hopefully result in getting a quicker fix :)

CE.

isolated case

Posted: Thu Nov 20, 2008 22:22
by juliusctw
I tried to isolate the problem with this example, but I cannot seem to make it crash, instead the image gui when going to full screen disappears, that is still a problem.

press F12 for full screen.

http://iamaracademy.com/chieh/tmp/imageCrash.zip

After much testing, it appears that it is not only problem when full screen, this problem occurs whenever the size of the window has been changed. In my program, if I change the size, it crashes, but in this isolated case, when I change the size of the window, the image would disappear.

Another thing to note, this was not a problem when I was using the 1.4.7 Ogre SDK , this only started when i started using 1.6.0, i'm not sure if they are still using the same version of CEGUI.

Posted: Fri Nov 21, 2008 09:30
by CrazyEddie
Ok, thanks for the .zip and updated info - especially the fact the issue only arose after the 1.6.0 Ogre release.

I should hopefully get to dealing with this over the weekend, and I'll let you know as soon as I have some news.

CE.

no crash with openGL

Posted: Fri Nov 21, 2008 19:59
by juliusctw
I originally told you that it works fine in Linux, I have also tested it in windows, If I were to use openGL in windows instead of directx, no crashes for my program, and for the zip file I sent you , there's no problem either.

the problem only occurs with all of these conditionals
1. inside windows,
2. using directx,
3. creating an imageset,
4. appears to be Ogre 1.6.0 problem.

Posted: Sat Nov 22, 2008 15:36
by CrazyEddie
Just to update you on my initial run of the test. On my machine here it does not crash when switching between windowed and fullscreen, but I do get the issue where the GUI output disappears.

As an aside, this version of Ogre appears to come with CEGUI 0.6.0 whereas the previous releases came with CEGUI 0.5.2, although this should not affect anything since any issue will still be within the OgreGUIRenderer module.

I have to set this Windows install up for development, then I'll see if I can track down the issue.

CE.

Posted: Sat Nov 22, 2008 19:18
by CrazyEddie
Having downloaded Ogre 1.6.0 and the dependency pack, I find that the CEGUI version in there is 0.5.1 and not 0.6.0. So I'm not sure what's going on there. I'm using MSVC++ 9 (2008) btw.

As stated previously, I have been unable to get the app to crash at all - neither the version in the test .zip or the version I have now built myself. There must be something else amiss there (maybe related to the version difference noted above?).

As far as the GUI rendering disappearing, I was able to get it to re-appear by calling CEGUI::System::signalRedraw in the function that does the full-screen mode toggle. This is probably needed since the renderer caches as much as possible, and that content is no doubt invalidated when the D3D device gets reset.

CE.

ok thank you

Posted: Sun Nov 23, 2008 06:04
by juliusctw
Hello

You are right, I cannot seem to crash it in the isolated case, it does disappear, so it just must be my code's problem. I did recently made some changes along with upgrading to 1..6.0 so perhaps it was my fault all along. Thank you for looking into this, I will debug my own code more carefully.

Posted: Sun Nov 23, 2008 16:38
by CrazyEddie
No problemo - I'm happy to try and help. I hope you manage to track down the issue :)

CE.