From: <jcm...@us...> - 2008-07-01 12:34:11
|
Revision: 779 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=779&view=rev Author: jcmoraisjr Date: 2008-07-01 05:34:20 -0700 (Tue, 01 Jul 2008) Log Message: ----------- Fixed storage of container attributes. Modified Paths: -------------- trunk/Source/Core/InstantBrokers.pas Modified: trunk/Source/Core/InstantBrokers.pas =================================================================== --- trunk/Source/Core/InstantBrokers.pas 2008-02-27 09:03:37 UTC (rev 778) +++ trunk/Source/Core/InstantBrokers.pas 2008-07-01 12:34:20 UTC (rev 779) @@ -3308,7 +3308,11 @@ begin Attribute := TInstantContainer(AObject.AttributeByName( AttributeMetadata.Name)); - if Attribute.IsChanged and + + { TODO : Attribute.Owner.IsPersistent is used (below) because Dispose + doesn't change the state of changed attributes to IsChanged. + Perhaps ObjStore.DisposeObject is the right place to fix (JM) } + if (Attribute.IsChanged or not Attribute.Owner.IsPersistent) and (AttributeMetadata.StorageKind = skExternal) then begin LinkResolver := TInstantSQLLinkResolver.Create(Self, |