1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-17 05:05:43 +02:00

Fix for missing refresh on project close

This commit is contained in:
Anton Leherbauer 2008-05-08 06:44:46 +00:00
parent 81120f9c45
commit 457b9eae1d

View file

@ -142,7 +142,7 @@ public class CElementContentProvider extends BaseCElementContentProvider impleme
protected boolean isPathEntryChange(ICElementDelta delta) { protected boolean isPathEntryChange(ICElementDelta delta) {
int flags= delta.getFlags(); int flags= delta.getFlags();
return (delta.getKind() == ICElementDelta.CHANGED && return (delta.getKind() == ICElementDelta.CHANGED &&
((flags & ICElementDelta.F_BINARY_PARSER_CHANGED) != 0 || ((flags & ICElementDelta.F_BINARY_PARSER_CHANGED) != 0 ||
(flags & ICElementDelta.F_ADDED_PATHENTRY_LIBRARY) != 0 || (flags & ICElementDelta.F_ADDED_PATHENTRY_LIBRARY) != 0 ||
(flags & ICElementDelta.F_ADDED_PATHENTRY_SOURCE) != 0 || (flags & ICElementDelta.F_ADDED_PATHENTRY_SOURCE) != 0 ||
@ -214,7 +214,7 @@ public class CElementContentProvider extends BaseCElementContentProvider impleme
} }
if (isPathEntryChange(delta)) { if (isPathEntryChange(delta)) {
// throw the towel and do a full refresh of the affected C project. // throw the towel and do a full refresh of the affected C project.
postRefresh(element.getCProject()); postRefresh(element.getCProject());
return;// bailout return;// bailout
} }
@ -277,7 +277,7 @@ public class CElementContentProvider extends BaseCElementContentProvider impleme
int flags= delta.getFlags(); int flags= delta.getFlags();
// open/close state change of a project // open/close state change of a project
if ((flags & IResourceDelta.OPEN) != 0) { if ((flags & IResourceDelta.OPEN) != 0) {
postRefresh(parent); postProjectStateChanged(parent);
return true; return true;
} }
@ -351,14 +351,14 @@ public class CElementContentProvider extends BaseCElementContentProvider impleme
public void refresh() { public void refresh() {
if (element instanceof IWorkingCopy){ if (element instanceof IWorkingCopy){
if (fViewer.testFindItem(element) != null){ if (fViewer.testFindItem(element) != null){
fViewer.refresh(element); fViewer.refresh(element);
} else { } else {
fViewer.refresh(((IWorkingCopy)element).getOriginalElement()); fViewer.refresh(((IWorkingCopy)element).getOriginalElement());
} }
} else if (element instanceof IBinary) { } else if (element instanceof IBinary) {
fViewer.refresh(element, true); fViewer.refresh(element, true);
} else { } else {
fViewer.refresh(element); fViewer.refresh(element);
} }
} }
@Override @Override