* write objectdef fieldtypes in appenddef_object() instead of in

beforeappenddef() to prevent endless loops in certain circular
    class reference situations (mantis #22527)

git-svn-id: trunk@22233 -
This commit is contained in:
Jonas Maebe 2012-08-24 16:52:46 +00:00
parent e17d1c9b37
commit eeb98ae2f8

View File

@ -839,6 +839,7 @@ implementation
var
oldtypesym : tsym;
begin
tobjectdef(def).symtable.symList.ForEachCall(@field_write_defs,list);
{ classes require special code to write the record and the invisible pointer }
if is_class(def) then
begin
@ -1080,7 +1081,6 @@ implementation
for i:=0 to anc.ImplementedInterfaces.Count-1 do
appenddef(list,TImplementedInterface(anc.ImplementedInterfaces[i]).IntfDef);
end;
tobjectdef(def).symtable.symList.ForEachCall(@field_write_defs,list);
end;
end;
end;