1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-23 08:55:25 +02:00

Bug 186755, move registration of resource-listener of project-desc-manager to the beginning of the plugin.start().

This commit is contained in:
Markus Schorn 2007-05-14 15:15:52 +00:00
parent 2109b985e9
commit c875ab1d89
2 changed files with 39 additions and 38 deletions

View file

@ -286,44 +286,46 @@ public class CProjectDescriptionManager implements ICProjectDescriptionManager {
return fInstance;
}
public void startup(){
if(fRcChangeHandler == null){
fRcChangeHandler = new ResourceChangeHandler();
public void registerResourceListener() {
assert fRcChangeHandler == null;
fRcChangeHandler = new ResourceChangeHandler();
ResourcesPlugin.getWorkspace().addResourceChangeListener(
fRcChangeHandler,
IResourceChangeEvent.POST_CHANGE
| IResourceChangeEvent.PRE_DELETE
| IResourceChangeEvent.PRE_CLOSE
/*| IResourceChangeEvent.POST_BUILD*/);
}
ResourcesPlugin.getWorkspace().addResourceChangeListener(
fRcChangeHandler,
IResourceChangeEvent.POST_CHANGE
| IResourceChangeEvent.PRE_DELETE
| IResourceChangeEvent.PRE_CLOSE
/*| IResourceChangeEvent.POST_BUILD*/);
public void startup(){
assert fRcChangeHandler != null;
fDescriptorManager.startup();
fDescriptorManager.startup();
CExternalSettingsManager.getInstance().startup();
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
Job rcJob = new Job(SettingsModelMessages.getString("CProjectDescriptionManager.0")){ //$NON-NLS-1$
protected IStatus run(IProgressMonitor monitor) {
try{
startSaveParticipant();
} catch (CoreException e){
CCorePlugin.log(e);
return e.getStatus();
}
return new Status(
IStatus.OK,
CCorePlugin.PLUGIN_ID,
IStatus.OK,
new String(),
null);
CExternalSettingsManager.getInstance().startup();
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
Job rcJob = new Job(SettingsModelMessages.getString("CProjectDescriptionManager.0")){ //$NON-NLS-1$
protected IStatus run(IProgressMonitor monitor) {
try{
startSaveParticipant();
} catch (CoreException e){
CCorePlugin.log(e);
return e.getStatus();
}
};
rcJob.setRule(root);
rcJob.setPriority(Job.INTERACTIVE);
rcJob.setSystem(true);
rcJob.schedule();
}
return new Status(
IStatus.OK,
CCorePlugin.PLUGIN_ID,
IStatus.OK,
new String(),
null);
}
};
rcJob.setRule(root);
rcJob.setPriority(Job.INTERACTIVE);
rcJob.setSystem(true);
rcJob.schedule();
}
/*

View file

@ -336,13 +336,12 @@ public class CCorePlugin extends Plugin {
public void start(BundleContext context) throws Exception {
super.start(context);
// make sure to register the resource listener as the first one in CDT:
fNewCProjectDescriptionManager= CProjectDescriptionManager.getInstance();
fNewCProjectDescriptionManager.registerResourceListener();
// Start file type manager first !!
fPathEntryVariableManager = new CdtVarPathEntryVariableManager();
cdtLog = new CDTLogWriter(CCorePlugin.getDefault().getStateLocation().append(".log").toFile()); //$NON-NLS-1$
fCoreModel = CoreModel.getDefault();
// Fire up the PDOM