protected override void DisposeManagedResources()
{
if (m_waitCursor != null)
m_waitCursor.Dispose();
if (m_clerk != null && !m_clerk.IsDisposed)
{
bool fHandledReload = false;
if (m_fTriggerPendingReloadOnDispose && m_clerk.m_list.RequestedLoadWhileSuppressed)
{
m_clerk.ListLoadingSuppressed = m_fOriginalListLoadingSuppressedState;
// if the requested while suppressed flag was reset, we handled it.
if (m_clerk.m_list.RequestedLoadWhileSuppressed == false)
fHandledReload = true;
}
else
{
m_clerk.ListLoadingSuppressedNoSideEffects = m_fOriginalListLoadingSuppressedState;
}
// if we didn't handle a pending reload, someone else needs to handle it.
if (!fHandledReload)
m_clerk.m_list.RequestedLoadWhileSuppressed |= m_fOriginalLoadRequestedWhileSuppressed;
m_clerk.m_list.UpdatingList = m_fOriginalUpdatingList;
// reset this after we possibly reload the list.
m_clerk.SkipShowRecord = m_fOriginalSkipRecordNavigationState;
m_clerk.SuppressSaveOnChangeRecord = m_fOriginalSuppressSaveOnChangeRecord;
m_clerk.UpdateHelper = m_originalUpdateHelper;
}
}