// deactivate the nested services
pageSite.deactivate();
// remove our selection listener
ISelectionProvider provider = pageSite.getSelectionProvider();
if (provider != null) {
provider
.removeSelectionChangedListener(selectionChangedListener);
if (provider instanceof IPostSelectionProvider) {
((IPostSelectionProvider) provider)
.removePostSelectionChangedListener(postSelectionListener);
}
}
}
// Show new page.
activeRec = pageRec;
Control pageControl = activeRec.page.getControl();
if (pageControl != null && !pageControl.isDisposed()) {
PageSite pageSite = (PageSite) mapPageToSite.get(activeRec.page);
// Verify that the page control is not disposed
// If we are closing, it may have already been disposed
book.showPage(pageControl);
activeRec.subActionBars.activate();
refreshGlobalActionHandlers();
// activate the nested services
pageSite.activate();
// add our selection listener
ISelectionProvider provider = pageSite.getSelectionProvider();
if (provider != null) {
provider.addSelectionChangedListener(selectionChangedListener);
if (provider instanceof IPostSelectionProvider) {
((IPostSelectionProvider) provider)
.addPostSelectionChangedListener(postSelectionListener);
}
}