From 51f5fd5eb7e6107d06ecfabebac70b2e6c67a4d4 Mon Sep 17 00:00:00 2001 From: michael Date: Fri, 4 Apr 2008 10:06:51 +0000 Subject: [PATCH] * Patch from Martin Schreiber to fix inline component streaming git-svn-id: trunk@10601 - --- rtl/objpas/classes/writer.inc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/rtl/objpas/classes/writer.inc b/rtl/objpas/classes/writer.inc index 3acc59c659..64d7e87b09 100644 --- a/rtl/objpas/classes/writer.inc +++ b/rtl/objpas/classes/writer.inc @@ -595,10 +595,13 @@ var Dummy: Integer; begin Dummy:=0; Flags := []; - If Assigned(FAncestor) then - Flags:=[ffInherited]; - if csInline in Instance.ComponentState then - Flags:=Flags+[ffInline]; + If (Assigned(FAncestor)) and //has ancestor + (not (csInline in Instance.ComponentState) or // no inline component + // .. or the inline component is inherited + (csAncestor in Instance.Componentstate) and (FAncestors <> nil)) then + Flags:=[ffInherited] + else If csInline in Instance.ComponentState then + Flags:=[ffInline]; FDriver.BeginComponent(Instance,Flags, Dummy); WriteProperties(Instance); WriteListEnd;