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
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org