Robert Osfield
dd996a3289
Introduced CMake option OSG_PROVIDE_READFILE option that defaults to ON, but when switched to OFF disables the building of the osgDB::read*File() methods,
...
forcing users to use osgDB::readRef*File() methods. The later is preferable as it closes a potential threading bug when using paging databases in conjunction
with the osgDB::Registry Object Cache. This threading bug occurs when one thread gets an object from the Cache via an osgDB::read*File() call where only
a pointer to the object is passed back, so taking a reference to the object is delayed till it gets reassigned to a ref_ptr<>, but at the same time another
thread calls a flush of the Object Cache deleting this object as it's referenceCount is now zero. Using osgDB::readREf*File() makes sure the a ref_ptr<> is
passed back and the referenceCount never goes to zero.
To ensure the OSG builds when OSG_PROVIDE_READFILE is to OFF the many cases of osgDB::read*File() usage had to be replaced with a ref_ptr<> osgDB::readRef*File()
usage. The avoid this change causing lots of other client code to be rewritten to handle the use of ref_ptr<> in place of C pointer I introduced a serious of
templte methods in various class to adapt ref_ptr<> to the underly C pointer to be passed to old OSG API's, example of this is found in include/osg/Group:
bool addChild(Node* child); // old method which can only be used with a Node*
tempalte<class T> bool addChild(const osg::ref_ptr<T>& child) { return addChild(child.get()); } // adapter template method
These changes together cover 149 modified files, so it's a large submission. This extent of changes are warrent to make use of the Object Cache
and multi-threaded loaded more robust.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15164 16af8721-9629-0410-8352-f15c8da7e697
2015-10-22 13:42:19 +00:00
..
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2013-05-24 17:06:08 +00:00
2013-05-24 17:06:08 +00:00
2015-10-22 13:42:19 +00:00
2013-06-27 09:59:33 +00:00
2015-10-22 13:42:19 +00:00
2010-12-22 20:11:05 +00:00
2015-10-22 13:42:19 +00:00
2013-06-27 09:54:12 +00:00
2013-06-27 09:59:33 +00:00
2015-04-13 10:43:56 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2013-06-27 09:54:12 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2011-06-14 16:54:20 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2012-12-17 15:58:57 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-06-03 09:07:41 +00:00
2015-07-23 11:11:58 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2011-01-27 16:23:48 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-04-07 18:01:12 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2014-12-03 17:31:16 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2008-11-25 15:57:27 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2009-11-24 15:00:11 +00:00
2015-10-22 13:42:19 +00:00
2015-04-13 10:43:56 +00:00
2008-12-09 11:05:04 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-04-13 11:48:28 +00:00
2014-07-14 15:59:06 +00:00
2014-05-14 16:01:40 +00:00
2014-11-04 10:46:59 +00:00
2014-11-19 11:30:53 +00:00
2015-10-22 13:42:19 +00:00
2008-11-08 17:53:51 +00:00
2014-01-28 11:01:28 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-06-03 09:07:41 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2013-06-27 09:54:12 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-06-03 09:07:41 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2013-06-27 09:54:12 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2010-11-11 11:47:24 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-03-23 11:36:02 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-06-03 09:07:41 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2013-10-17 14:02:15 +00:00
2007-06-23 11:21:54 +00:00
2012-09-05 21:03:41 +00:00
2015-10-22 13:42:19 +00:00
2008-09-01 10:19:06 +00:00
2014-01-23 15:37:48 +00:00
2014-11-04 10:46:59 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2012-09-05 21:03:41 +00:00
2015-10-22 13:42:19 +00:00
2011-10-26 12:29:38 +00:00
2015-10-22 13:42:19 +00:00
2011-04-26 12:07:37 +00:00
2015-10-22 13:42:19 +00:00
2011-06-22 12:30:01 +00:00
2015-10-22 13:42:19 +00:00
2008-11-28 14:36:39 +00:00
2008-11-28 14:36:39 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-07-23 11:11:58 +00:00
2008-11-28 14:36:39 +00:00
2011-06-14 16:54:20 +00:00
2015-10-22 13:42:19 +00:00
2008-07-25 20:50:42 +00:00
2008-12-18 13:56:30 +00:00
2008-12-16 20:29:00 +00:00
2015-10-22 13:42:19 +00:00
2015-10-22 13:42:19 +00:00
2015-03-10 18:07:17 +00:00