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

Reply via email to