Hello Robert,
ref_ptr::release() is a specialist helper method with does an unref_noDelete on the referenced object - it deliberately doesn't delete the object that it's unrefecing. This functionality is required for functions that use ref_ptr<> locally but then have to pass a C* point of the object.
I have seen this confusion before from people used to Win32 programming... In MFC (I believe), calling release() on something means you don't want to use it anymore, and you want it to release its resources (kind of like calling delete on a pointer, but it's a C API so there are no destructors, hence the release() function). So it means exactly the opposite of what it means in OSG.
Kind of ironic, but perhaps that just means that people need to read the API documentation a bit before using a method in their code, because it might not do what they assume it does.
J-S -- ______________________________________________________ Jean-Sebastien Guay [EMAIL PROTECTED] http://www.cm-labs.com/ http://whitestar02.webhop.org/ _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org