Hi Gerrit,

I've got a followup question on the destruction process for containers 
in 1.x:

This is the end of
void FieldContainerPtrBase::deleteContainers(void) const (from 
Source/System/FieldContainer/Impl/OSGFieldContainerPtrDepImpl.inl):

#if defined(OSG_FIXED_MFIELDSYNC)
     ((FieldContainer *) pTmp)->~FieldContainer();
#endif

     for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++)
     {
#if defined(OSG_FIXED_MFIELDSYNC)
         ((FieldContainer *) pTmp)->onDestroyAspect(*(getIdP()), i);
#endif

#if !defined(OSG_FIXED_MFIELDSYNC)
         ((FieldContainer *) pTmp)->~FieldContainer();
#endif

         pTmp += _containerSize;
     }

     operator delete(_storeP + getRefCountOff());
}

This seems a bit fishy to me since for OSG_FIXED_MFIELDSYNC the d'tor is 
called on the aspect 0 object and then the loop is entered where 
onDestroyAspect is called for all aspects (including the just destroyed 
one).
Am I missing something here ?

        Thanks,
                Carsten

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Opensg-core mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-core

Reply via email to