Show
Ignore:
Timestamp:
01/16/08 16:07:40 (1 year ago)
Author:
cneumann
Message:

changed: - factory functions return a TransitPtr? that can not be implicitly

converted to C Ptr. Should help with porting.

added: - GlobalRefPtr?, needed for cases where upon return from main

a RefPtr? goes out of scope (it would attempt to access the
FCFactory which is already shutdown at that point).

status: - vrml loader does not compile (needs porting to ref ptr)

  • tutorials compile, run and exit cleanly
  • multithreading and cluster are untested, yet
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork2/Source/System/Image/OSGImageFileHandler.cpp

    r986 r1039  
    320320*/ 
    321321 
    322 ImagePtr ImageFileHandlerBase::read(const Char8 *fileName,  
    323                                     const Char8 *mimeType) 
     322ImageTransitPtr ImageFileHandlerBase::read(const Char8 *fileName,  
     323                                           const Char8 *mimeType) 
    324324{ 
    325325    if(_pReadCallback != NULL) 
    326         return _pReadCallback(fileName, mimeType); 
    327  
    328     ImagePtr image = Image::create(); 
     326        return ImageTransitPtr(_pReadCallback(fileName, mimeType)); 
     327 
     328    ImageRefPtr image = Image::create(); 
    329329     
    330330    if(read(image, fileName, mimeType) == false) 
    331331    { 
    332         OSG::subRef(image); 
    333  
    334332        image = NullFC; 
    335333    } 
    336334 
    337     return image
     335    return ImageTransitPtr(image)
    338336} 
    339337 
     
    491489//------------------------------------------------------------------------- 
    492490 
    493 ImagePtr ImageFileHandlerBase::read(      std::istream &is,  
    494                                     const std::string  &mimeType) 
    495 { 
    496     ImagePtr image = Image::create(); 
     491ImageTransitPtr ImageFileHandlerBase::read(      std::istream &is,  
     492                                           const std::string  &mimeType) 
     493{ 
     494    ImageRefPtr image = Image::create(); 
    497495 
    498496    if (read(image, is, mimeType) == false) 
    499497    { 
    500         subRef(image); 
    501498        image = NullFC; 
    502499    } 
    503500 
    504     return image
     501    return ImageTransitPtr(image)
    505502} 
    506503