mirror of
https://github.com/Kopano-dev/kopano-ol-extension.git
synced 2023-10-10 13:37:40 +02:00
Small cleanup to folder item iteration
This commit is contained in:
parent
b952f46ff9
commit
ac56b301b4
@ -139,11 +139,7 @@ namespace Acacia.Stubs.OutlookWrappers
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (_last != null)
|
CleanLast();
|
||||||
{
|
|
||||||
_last.Dispose();
|
|
||||||
_last = default(ItemType);
|
|
||||||
}
|
|
||||||
_last = Mapping.Wrap<ItemType>(_enum.Current);
|
_last = Mapping.Wrap<ItemType>(_enum.Current);
|
||||||
return _last;
|
return _last;
|
||||||
}
|
}
|
||||||
@ -157,12 +153,23 @@ namespace Acacia.Stubs.OutlookWrappers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void CleanLast()
|
||||||
|
{
|
||||||
|
if (_last != null)
|
||||||
|
{
|
||||||
|
_last.Dispose();
|
||||||
|
_last = default(ItemType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
|
CleanLast();
|
||||||
if (_enum != null)
|
if (_enum != null)
|
||||||
{
|
{
|
||||||
if (_enum is IDisposable)
|
if (_enum is IDisposable)
|
||||||
((IDisposable)_enum).Dispose();
|
((IDisposable)_enum).Dispose();
|
||||||
|
ComRelease.Release(_enum);
|
||||||
_enum = null;
|
_enum = null;
|
||||||
}
|
}
|
||||||
if (_items != null)
|
if (_items != null)
|
||||||
@ -174,16 +181,13 @@ namespace Acacia.Stubs.OutlookWrappers
|
|||||||
|
|
||||||
public bool MoveNext()
|
public bool MoveNext()
|
||||||
{
|
{
|
||||||
if (_last != null)
|
CleanLast();
|
||||||
{
|
|
||||||
_last.Dispose();
|
|
||||||
_last = default(ItemType);
|
|
||||||
}
|
|
||||||
return _enum.MoveNext();
|
return _enum.MoveNext();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Reset()
|
public void Reset()
|
||||||
{
|
{
|
||||||
|
CleanLast();
|
||||||
_enum.Reset();
|
_enum.Reset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ namespace Acacia.Utils
|
|||||||
{
|
{
|
||||||
if (!Enabled)
|
if (!Enabled)
|
||||||
return;
|
return;
|
||||||
if (o == null)
|
if (o == null || !Marshal.IsComObject(o))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (Logger.Instance.IsLevelEnabled(LogLevel.TraceExtra))
|
if (Logger.Instance.IsLevelEnabled(LogLevel.TraceExtra))
|
||||||
|
Loading…
Reference in New Issue
Block a user