/// <summary> /// This is the normal RestoreSelection. For some reason by default it is not used when read-only. /// Returns the selection it successfully restored, or null if it could not restore one. /// </summary> protected virtual IVwSelection RestoreSelection() { bool makeVisible = false; if (m_topOfViewSelection != null) { IVwSelection selTop = m_topOfViewSelection.SetSelection(m_rootSite, false, false); if (selTop != null && selTop.IsValid) { m_topOfViewSelection.RestoreScrollPos(); } else { makeVisible = true; } } return(m_savedSelection.MakeBest(makeVisible)); }