public void ViewVisibleNowDoSlowStuff() { if(_currentlyDisplayedBook != CurrentBook) { CurrentBook.PrepareForEditing(); } _currentlyDisplayedBook = CurrentBook; var errors = _currentlyDisplayedBook.GetErrorsIfNotCheckedBefore(); if (!string.IsNullOrEmpty(errors)) { ErrorReport.NotifyUserOfProblem(errors); return; } // BL-2339: try to choose the last edited page var page = _currentlyDisplayedBook.GetPageByIndex(_currentlyDisplayedBook.UserPrefs.MostRecentPage) ?? _currentlyDisplayedBook.FirstPage; try { _inProcessOfLoading = true; if (page != null) _pageSelection.SelectPage(page); if (_view != null) { _view.UpdatePageList(false); } } finally { _inProcessOfLoading = false; } }