Bug 55663 [Activities] IDEWorkbenchActivityHelper should crawl projects on startup to enable any existing natures.
200403230010 Currently the nature detection code only works on resource changes. This code needs to be activated on startup as well so that any existing projects natures will be detected prior to their changing.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchActivityHelper.java
* (non-Javadoc) @see
             * org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
             */
            public void resourceChanged(IResourceChangeEvent event) {
                if (!WorkbenchActivityHelper.isFiltering())
                    return;
                IResourceDelta mainDelta = event.getDelta();
                if (mainDelta == null)
                    return;
                
                if (mainDelta.getKind() == IResourceDelta.CHANGED
                    && mainDelta.getResource().getType() == IResource.ROOT) {
                    try {
                        IResourceDelta[] children = mainDelta.getAffectedChildren();
                        IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport();
                        IActivityManager activityManager = workbenchActivitySupport.getActivityManager();
                        for (int i = 0; i < children.length; i++) {
                            IResourceDelta delta = children[i];
                            if (delta.getResource().getType() == IResource.PROJECT) {
                                IProject project = (IProject) delta.getResource();
                                String[] ids = project.getDescription().getNatureIds();
                                if (ids.length == 0)
                                    return;
                                Set activities = new HashSet(activityManager.getEnabledActivityIds());
                                boolean changed = false;
                                for (int j = 0; j < ids.length; j++) {                                                                    
                                    IPluginContribution contribution = (IPluginContribution) natureMap.get(ids[j]);
                                    if (contribution == null)
                                        continue; 
                                    IIdentifier identifier =