Hi,
I have used the osg::ref_ptr quite a lot and never had much problems with them,
but I'm having an issue with it now.
In the main function I create a viewer (and also a DisplaySettings that is used
by it):
Code:
osg::ref_ptrosgViewer::Viewer viewer = new osgViewer::Viewer();
osg::ref_ptrosg::DisplaySettings ds = new osg::DisplaySettings();
...
viewer-setDisplaySettings(ds);
...
then I also have a new class called RenderManager, who needs to viewer object
as well. I thought this was the correct way to do it:
Code:
class RenderManager
{
osg::ref_ptrosgViewer::Viewer viewer;
osg::ref_ptrosgViewer::Viewer getViewer() { return viewer; }
RenderManager(osg::ref_ptrosgViewer::Viewer viewer);
}
RenderManager::RenderManager(osg::ref_ptrosgViewer::Viewer):
viewer(viewer)
{
}
and I create one in main, and delete it at the end of main
Code:
RenderManager * renderManager = new RenderManager(viewer);
delete renderManager;
(I tried to simplify the code a.m.a.p.)
Now the delete seems to go well, but at the very end of main it will give a
access violation in the destructor of ref_ptr:
world2.exe!osg::ref_ptrosgViewer::Viewer::~ref_ptrosgViewer::Viewer() Line
35 + 0x2e bytes C++
What did I do wrong? What is the correct way to do it?
Thank you!
Cheers,
Bram
--
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=60258#60258
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org