Hi Robert,<br><br>Ha, I was just getting ready to reply to you saying I've found the issue:)<br><br>That was exactly it, switching over to using using a ref_ptr within the ReaderWriterOSGEarth plugin for the cached TileBuilder objects seems to have fixed my issue.<br>

<br>Thanks!<br><br>Jason<br><br><div class="gmail_quote">2009/3/23 Robert Osfield <span dir="ltr"><<a href="mailto:robert.osfield@gmail.com">robert.osfield@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hi Jason,<br><br>Normally the DatabasePager works on loaded scene graph that are entirely independent from the main scene graph and these subgraphs are only merged with the main scene graph when the main frame loop calls the update on the DatabasePager to merge any new tiles, remove expired ones.  The update is down thread safe, with locking happening for all the appropriate places.  If the place that the node is being attached is already unref'd from the scene graph then the subgraph should just be safely discarded.<br>


<br>In the case of osgEarth do you have a pointers to global/parental structures in the plugins that would break the normal scene graph encapsulation that the database normally has?  If there is such a reference then it might be best to take a reference to this global/parent strucutre during the running of the plugin to prevent it going out of scope before the end of the call to the plugin.<br>


<br>Robert.<br><br><div class="gmail_quote">2009/3/23 Jason Beverage <span dir="ltr"><<a href="mailto:jasonbeverage@gmail.com" target="_blank">jasonbeverage@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div><div></div><div class="h5">
Hi Robert,<br><br>I've been working with loading and unloading different osgEarth files at runtime (such as from a File | Open menu) using OSG and have found that I need to take special care to make sure that the DatabasePager is not working on a loaded node before removing it and replacing it with a different scene.  This isn't a big deal and essentially consists of telling the database pager to not accept any new requests, clearing any pending requests and waiting for the pager to complete by checking the getRequestsInProgress.<br>




<br>I've found that if I simply replace the main earth file's node with a new one while the DatabasePager is working, my application will crash.  Is this the intended behavior or have I found a potential issue?<br>




<br>Thanks!<br><font color="#888888"><br>Jason<br>
</font><br></div></div>_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org" target="_blank">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
<br></blockquote></div><br>
<br>_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
<br></blockquote></div><br>