mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
bug 367559: Double source folder in Make Targets View - handle deletions
in more robust way
This commit is contained in:
parent
4db83cf4f1
commit
dc523305ef
1 changed files with 10 additions and 17 deletions
|
@ -333,26 +333,19 @@ public class MakeContentProvider implements ITreeContentProvider, IMakeTargetLis
|
||||||
// Handle removed children. Issue one update for all removals.
|
// Handle removed children. Issue one update for all removals.
|
||||||
affectedChildren = delta.getAffectedChildren(IResourceDelta.REMOVED);
|
affectedChildren = delta.getAffectedChildren(IResourceDelta.REMOVED);
|
||||||
if (affectedChildren.length > 0) {
|
if (affectedChildren.length > 0) {
|
||||||
final ArrayList<IResource> affected = new ArrayList<IResource>(affectedChildren.length);
|
|
||||||
for (int i = 0; i < affectedChildren.length; i++) {
|
for (int i = 0; i < affectedChildren.length; i++) {
|
||||||
if (affectedChildren[i].getResource().getType() == IResource.FOLDER) {
|
if (affectedChildren[i].getResource().getType() == IResource.FOLDER) {
|
||||||
affected.add(affectedChildren[i].getResource());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!affected.isEmpty()) {
|
|
||||||
Display.getDefault().asyncExec(new Runnable() {
|
Display.getDefault().asyncExec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (viewer == null || viewer.getControl() == null || viewer.getControl().isDisposed())
|
if (viewer == null || viewer.getControl() == null || viewer.getControl().isDisposed())
|
||||||
return;
|
return;
|
||||||
|
// refresh the whole view as deletion may cause parent nodes to get filtered out
|
||||||
if (CCorePlugin.showSourceRootsAtTopOfProject()) {
|
viewer.refresh();
|
||||||
// that will refresh equal TargetSourceContainer from the tree
|
|
||||||
viewer.refresh(new TargetSourceContainer(new CSourceEntry((IFolder) resource, null, 0)));
|
|
||||||
}
|
|
||||||
viewer.refresh(resource);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue