crash in void OgreRenderer::beginRendering()

If you found a bug in our library or on our website, please report it in this section. In this forum you can also make concrete suggestions or feature requests.

Moderators: CEGUI MVP, CEGUI Team

heeroz
Just popping in
Just popping in
Posts: 7
Joined: Wed May 26, 2010 06:33

crash in void OgreRenderer::beginRendering()

Postby heeroz » Fri Feb 24, 2012 14:09

cegui 0.7.6
ogre v1.7.2

d_pimpl->d_previousVP = d_pimpl->d_renderSystem->_getViewport();

This line will return a deleted viewport* pointer when destroy cegui window befor OgreRenderer::beginRendering().

The order is:
1. destory a cegui window

2. Window::onChildRemoved()
getTargetRenderingSurface().invalidate();

3. RenderingWindow::invalidate()
d_textarget.clear();

4. OgreTextureTarget::clear()
d_renderSystem._setViewport(d_viewport);

5. OgreRenderTarget::~OgreRenderTarget()
delete d_viewport;

6. OgreRenderer::beginRendering()
d_pimpl->d_previousVP = d_pimpl->d_renderSystem->_getViewport(); <-----return a deleted viewport in order 5.
d_pimpl->d_previousVP->getCamera()->getProjectionMatrixRS(); <------------crash

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: crash in void OgreRenderer::beginRendering()

Postby CrazyEddie » Sat Feb 25, 2012 08:37

Hi,

Thanks for the detailed report. I will add a ticket for this.

CE.


Return to “Bug Reports, Suggestions, Feature Requests”

Who is online

Users browsing this forum: No registered users and 5 guests