mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 464008: CNavigatorContentProvider creates new CProject instance on every invocation
This sometimes leads to issues with Binaries node. Change-Id: I8f5159c14a2e8056e229582c57878f3d35342d3e Signed-off-by: Johann Draschwandtner <johann.draschwandtner@windriver.com>
This commit is contained in:
parent
a740576b78
commit
b49fa67882
1 changed files with 9 additions and 1 deletions
|
@ -47,6 +47,9 @@ import org.eclipse.cdt.core.model.IParent;
|
|||
import org.eclipse.cdt.ui.CUIPlugin;
|
||||
import org.eclipse.cdt.ui.PreferenceConstants;
|
||||
|
||||
import org.eclipse.cdt.internal.core.model.CModel;
|
||||
import org.eclipse.cdt.internal.core.model.CModelManager;
|
||||
|
||||
import org.eclipse.cdt.internal.ui.cview.CViewContentProvider;
|
||||
|
||||
/**
|
||||
|
@ -233,7 +236,12 @@ public class CNavigatorContentProvider extends CViewContentProvider implements I
|
|||
if (element instanceof IWorkspaceRoot) {
|
||||
return ((IWorkspaceRoot)element).getProjects();
|
||||
} else if (element instanceof IProject) {
|
||||
return super.getChildren(CoreModel.getDefault().create((IProject)element));
|
||||
CModel cModel = CModelManager.getDefault().getCModel();
|
||||
ICProject prj = cModel.findCProject((IProject)element);
|
||||
if(prj == null) {
|
||||
prj = CoreModel.getDefault().create((IProject)element);
|
||||
}
|
||||
return super.getChildren(prj);
|
||||
} else {
|
||||
children = super.getChildren(element);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue