Fixed condition on IEnumFromCom where TryGet looped forever.

pull/83/head
David Hall 2019-10-23 12:06:32 -06:00
parent 376b4576ea
commit 33765e40ee
1 changed files with 6 additions and 5 deletions

View File

@ -123,7 +123,7 @@ namespace Vanara.Collections
{
var res = new TItem[1];
item = default;
if (cnext(1, res, out var ret).Failed)
if (cnext(1, res, out var ret) != HRESULT.S_OK)
return false;
item = res[0];
return true;
@ -239,7 +239,8 @@ namespace Vanara.Collections
public Enumerator(IEnumFromNext<TItem> ienum)
{
this.ienum = ienum; ((IEnumerator)this).Reset();
this.ienum = ienum;
((IEnumerator)this).Reset();
}
public TItem Current { get; private set; }
@ -251,15 +252,15 @@ namespace Vanara.Collections
bool IEnumerator.MoveNext()
{
if (ienum == null || !ienum.next(out var p)) return false;
if (ienum == null || !ienum.next(out var p))
return false;
Current = p;
return true;
}
void IEnumerator.Reset()
{
if (ienum == null) return;
ienum.reset();
ienum?.reset();
Current = default;
}
}