private void handlePartActivation(IWorkbenchPartReference ref) { if (reusableHelpPart == null) return; if (!visible || !reusableHelpPart.isMonitoringContextHelp()) return; if (isThisPart(ref)) return; IWorkbenchPart part = ref.getPart(false); Display display = part.getSite().getShell().getDisplay(); Control c = display.getFocusControl(); if (c != null && c.isVisible() && !c.isDisposed()) { IContextProvider provider = (IContextProvider) part .getAdapter(IContextProvider.class); if (provider != null) { reusableHelpPart.update(provider, null, part, c); if ((provider.getContextChangeMask() & IContextProvider.SELECTION) != 0) { // context help changes with selections installSelectionListener(part); } } else reusableHelpPart.update(part, c); if (part instanceof IPageChangeProvider) installPageListener(part); } }
if ((provider == null) || ((provider.getContextChangeMask() & IContextProvider.SELECTION) != 0)) {