Show
Ignore:
Timestamp:
02/12/08 09:51:59 (9 months ago)
Author:
cneumann
Message:

fixed: - pointer fields: sync/copyFromBin order of inc/dec refcount

(always inc new pointer first, then dec old pointer)

  • cluster server: commented out writing of .osg file on each frame
  • multi display window: merged fix from trunk (r1058)
  • tutorial 12: empty address check

added: - pointer field handles: implemented equal and share

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork2/Source/System/FieldContainer/Fields/OSGEditSFCPointerFieldHandle.inl

    r1039 r1060  
    8080} 
    8181 
    82 /*-------------------------------------------------------------------------*/ 
    83 /* Type Query                                                              */ 
    84  
    85 inline bool 
    86 EditSFCPointerFieldBaseHandle::isParentPointerField(void) const 
    87 { 
    88     return false; 
    89 } 
    90  
    9182/*! \class EditSFCPointerFieldHandle<FieldT> 
    9283 
     
    192183EditSFCPointerFieldHandle<FieldT>::equal(EditFieldHandlePtr rhs) 
    193184{ 
    194     FWARNING(("EditSFCPointerFieldHandle<FieldT>::equal(): NIY\n")); 
    195      
    196     return false; 
     185    bool retVal = true; 
     186     
     187    EditSFCPointerFieldBaseHandlePtr castRHS = 
     188        boost::dynamic_pointer_cast<EditSFCPointerFieldBaseHandle>(rhs); 
     189     
     190    if(castRHS == NULL) 
     191    { 
     192        retVal = false; 
     193    } 
     194    else if(this->get() != castRHS->get()) 
     195    { 
     196        retVal = false; 
     197    } 
     198         
     199    return retVal; 
    197200} 
    198201     
     
    208211EditSFCPointerFieldHandle<FieldT>::shareValues(GetFieldHandlePtr source) 
    209212{ 
    210     FWARNING(("EditSFCPointerFieldHandle<FieldT>::shareValues(): NIY\n")); 
     213    GetSFCPointerFieldBaseHandlePtr castSource = 
     214        boost::dynamic_pointer_cast<GetSFCPointerFieldBaseHandle>(source); 
     215     
     216    if(castSource != NULL) 
     217    { 
     218        this->set(castSource->get()); 
     219    } 
    211220} 
    212221