1
0
Fork 0
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:
Johann Draschwandtner 2015-04-07 12:28:48 +02:00 committed by Gerrit Code Review @ Eclipse.org
parent a740576b78
commit b49fa67882

View file

@ -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);
}