浏览代码

* Enumerator must list all elements. Fix issue #40379

Michaël Van Canneyt 15 小时之前
父节点
当前提交
65cd99d96d
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      packages/fcl-stl/src/ghashmap.pp

+ 3 - 0
packages/fcl-stl/src/ghashmap.pp

@@ -363,6 +363,9 @@ end;
 function THashmap.getenumerator: TIterator;
 function THashmap.getenumerator: TIterator;
 begin
 begin
   result:=iterator;
   result:=iterator;
+  result.Fh := 0;
+  // Dirty trick. Seems to work with range and overflow checks
+  result.Fp := High(SizeUInt); 
 end;
 end;
 
 
 function THashmapIterator.GetKey: TKey;
 function THashmapIterator.GetKey: TKey;