Selaa lähdekoodia

rtl: fix streaming of ancestor components - save/restore FRootAncestor in TWriter.WriteComponent because it can be changed by DoFindAncestor call (if IDE/or user code is connected to OnFindAncestor event)

git-svn-id: trunk@14969 -
paul 15 vuotta sitten
vanhempi
commit
e2dbccf017
1 muutettua tiedostoa jossa 3 lisäystä ja 2 poistoa
  1. 3 2
      rtl/objpas/classes/writer.inc

+ 3 - 2
rtl/objpas/classes/writer.inc

@@ -661,11 +661,11 @@ procedure TWriter.WriteComponent(Component: TComponent);
 
 var
   SA : TPersistent;
-  SR : TComponent;
-  
+  SR, SRA : TComponent;
 begin
   SR:=FRoot;
   SA:=FAncestor;
+  SRA:=FRootAncestor;
   Try
     Component.FComponentState:=Component.FComponentState+[csWriting];
     Try
@@ -681,6 +681,7 @@ begin
   Finally
     FAncestor:=SA;
     FRoot:=SR;
+    FRootAncestor:=SRA;
   end;
 end;