diff --git a/compiler/symdef.pas b/compiler/symdef.pas index 32116a61f7..338b153afe 100644 --- a/compiler/symdef.pas +++ b/compiler/symdef.pas @@ -6175,13 +6175,25 @@ implementation end; procedure timplementedinterfaces.addimplproc(intfindex: longint; procdef: tprocdef); + var + found : boolean; + i : longint; begin checkindex(intfindex); with timplintfentry(finterfaces.search(intfindex)) do begin if not assigned(procdefs) then procdefs:=tindexarray.create(4); - procdefs.insert(tprocdefstore.create(procdef)); + { No duplicate entries of the same procdef } + found:=false; + for i:=1 to procdefs.count do + if tprocdefstore(procdefs.search(i)).procdef=procdef then + begin + found:=true; + break; + end; + if not found then + procdefs.insert(tprocdefstore.create(procdef)); end; end; @@ -6379,7 +6391,10 @@ implementation end. { $Log$ - Revision 1.294 2005-02-02 19:02:47 florian + Revision 1.295 2005-02-10 22:08:37 peter + * implprocs requires no duplicate entries of the same procdef + + Revision 1.294 2005/02/02 19:02:47 florian * type = type ; ignored Revision 1.293 2005/02/01 08:46:13 michael