Show
Ignore:
Timestamp:
01/24/08 15:11:54 (1 year ago)
Author:
cneumann
Message:

fixed: aspect sync for child/parent fields

missing editSField/editMField calls

added: simple test program for MT

Files:

Legend:

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

    r1017 r1041  
    7979        return; 
    8080         
    81     castPtrUp(ptr)->addWeakReference(); 
     81    castPtrUp(ptr.getPointer())->addWeakReference(); 
    8282} 
    8383    
     
    9090        return; 
    9191     
    92     castPtrUp(ptr)->subWeakReference(); 
     92    castPtrUp(ptr.getPointer())->subWeakReference(); 
    9393} 
    9494 
     
    366366SParentFCPointerField<ObjectT, NamespaceI>::syncWith(Self &source) 
    367367{ 
    368     setValue( 
    369         ValueType( 
    370             convertToCurrentAspect(source._fieldValue.getPointer        ()), 
    371                                    source._fieldValue.getChildrenFieldId()  )); 
     368    ValueType newVal(convertToCurrentAspect(source._fieldValue.getPointer()), 
     369                     source._fieldValue.getChildrenFieldId()                 ); 
     370                      
     371    incRefCount(newVal              ); 
     372    decRefCount(this->editRawValue()); 
     373                      
     374    this->editRawValue() = newVal; 
    372375} 
    373376