1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-21 15:23:59 +02:00

Fix for 45737 & 45835

This commit is contained in:
David Inglis 2003-11-06 19:48:07 +00:00
parent f9e17af94f
commit 7684f7c2c8
3 changed files with 26 additions and 9 deletions

View file

@ -1,3 +1,10 @@
2003-11-06 David Inglis
Fix for 45737 & 45835
* model/org/eclipse/cdt/internal/core/DeltaProcessor.java
* model/org/eclipse/cdt/internal/core/CModelManager.java
2003-10-29 David Inglis
Fix for 45734 & 45736, Though this only addresses a small part on the later.

View file

@ -373,6 +373,10 @@ public class CModelManager implements IResourceChangeListener {
// so we have to recall create again.
releaseCElement(celement);
celement = create(project);
Parent parent = (Parent)celement.getParent();
CElementInfo info = (CElementInfo)parent.getElementInfo();
info.addChild(celement);
// Fired and ICElementDelta.PARSER_CHANGED
CElementDelta delta = new CElementDelta(getCModel());
delta.binaryParserChanged(celement);

View file

@ -61,7 +61,9 @@ public class DeltaProcessor {
ICElement parent = manager.create(resource.getParent());
// Probably it was deleted, find it
if (parent instanceof IParent) {
ICElement[] children = ((CElement)parent).getElementInfo().getChildren();
ICElement[] children;
if ( CModelManager.getDefault().peekAtInfo(parent) != null ) {
children = ((CElement)parent).getElementInfo().getChildren();
for (int i = 0; i < children.length; i++) {
IResource res = children[i].getResource();
if (res != null && res.equals(resource)) {
@ -69,6 +71,7 @@ public class DeltaProcessor {
break;
}
}
}
// BUG 36424:
// The Binary may only be visible in the BinaryContainers
if (celement == null) {
@ -380,12 +383,15 @@ public class DeltaProcessor {
elementDelta.addResourceDelta(delta);
}
if (parent instanceof CContainer) {
// if info not created yet no need to null NonCResources...
if (CModelManager.getDefault().peekAtInfo(parent) != null) {
CElementInfo info = ((CContainer)parent).getElementInfo();
if (info instanceof CContainerInfo) {
((CContainerInfo)info).setNonCResources(null);
}
}
}
}
/*
* Update the current delta (ie. add/remove/change the given element) and update the