Hi,

I came across this issue when I coded my own archive format.
I fixed the issue at the oter end and returned a FILE_NOT_HANDLED from my 
archive instead of a FILE_NOT_FOUND. This struck me as slightly odd at the time 
but I assumed this was the correct return value from my archive as it achieved 
the correct result.

Cheers,

Brad

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Robert Osfield
Sent: Wednesday, 2 November 2011 6:59 PM
To: OpenSceneGraph Users
Subject: Re: [osg-users] osgDB::Registry bug with files not loading after an 
archive has been accessed

HI Anthony,

> Like you am I left wondering if this quick fix is a complete solution
> so will need to think some more about the topic before commit a fix.

I have done some testing and some thinking about the issue and feel
that the fix you suggested is a good solution, the code I've checked
into svn/trunk is essential the same, only adds a little text in
explanation:

    // check loaded archives.
    AvailableArchiveIterator aaitr(_archiveCache, _archiveCacheMutex);
    for(;aaitr.valid();++aaitr)
    {
        ReaderWriter::ReadResult rr = readFunctor.doRead(*aaitr);
        if (readFunctor.isValid(rr)) return rr;
        else
        {
            // don't pass on FILE_NOT_FOUND results as we don't want
to prevent non archive plugins that haven't been
            // loaded yet from getting a chance to test for the
presence of the file.
            if (rr.status()!=ReaderWriter::ReadResult::FILE_NOT_FOUND)
results.push_back(rr);
        }
    }

Cheers,
Robert.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


-------------------------------------------------------------------------
DISCLAIMER: This e-mail transmission and any documents, files and 
previous e-mail messages attached to it are private and confidential.  
They may contain proprietary or copyright material or information that 
is subject to legal professional privilege.  They are for the use of 
the intended recipient only.  Any unauthorised viewing, use, disclosure, 
copying, alteration, storage or distribution of, or reliance on, this 
message is strictly prohibited.  No part may be reproduced, adapted or 
transmitted without the written permission of the owner.  If you have 
received this transmission in error, or are not an authorised recipient, 
please immediately notify the sender by return email, delete this 
message and all copies from your e-mail system, and destroy any printed 
copies.  Receipt by anyone other than the intended recipient should not 
be deemed a waiver of any privilege or protection.  Thales Australia 
does not warrant or represent that this e-mail or any documents, files 
and previous e-mail messages attached are error or virus free.  

-------------------------------------------------------------------------

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to