mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-13 19:25:38 +02:00
fixed bug# 52490
This commit is contained in:
parent
cde4b34929
commit
a0d5e302cb
2 changed files with 20 additions and 18 deletions
|
@ -74,8 +74,8 @@ public class MakeTargetManager implements IMakeTargetManager, IResourceChangeLis
|
||||||
if (projectTargets == null) {
|
if (projectTargets == null) {
|
||||||
projectTargets = readTargets(project);
|
projectTargets = readTargets(project);
|
||||||
}
|
}
|
||||||
((MakeTarget)target).setContainer(container);
|
((MakeTarget) target).setContainer(container);
|
||||||
projectTargets.add((MakeTarget)target);
|
projectTargets.add((MakeTarget) target);
|
||||||
writeTargets(projectTargets);
|
writeTargets(projectTargets);
|
||||||
notifyListeners(new MakeTargetEvent(this, MakeTargetEvent.TARGET_ADD, target));
|
notifyListeners(new MakeTargetEvent(this, MakeTargetEvent.TARGET_ADD, target));
|
||||||
}
|
}
|
||||||
|
@ -86,9 +86,10 @@ public class MakeTargetManager implements IMakeTargetManager, IResourceChangeLis
|
||||||
if (projectTargets == null) {
|
if (projectTargets == null) {
|
||||||
projectTargets = readTargets(project);
|
projectTargets = readTargets(project);
|
||||||
}
|
}
|
||||||
projectTargets.remove(target);
|
if (projectTargets.remove(target)) {
|
||||||
writeTargets(projectTargets);
|
writeTargets(projectTargets);
|
||||||
notifyListeners(new MakeTargetEvent(this, MakeTargetEvent.TARGET_REMOVED, target));
|
notifyListeners(new MakeTargetEvent(this, MakeTargetEvent.TARGET_REMOVED, target));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renameTarget(IMakeTarget target, String name) throws CoreException {
|
public void renameTarget(IMakeTarget target, String name) throws CoreException {
|
||||||
|
@ -203,7 +204,7 @@ public class MakeTargetManager implements IMakeTargetManager, IResourceChangeLis
|
||||||
int flags = delta.getFlags();
|
int flags = delta.getFlags();
|
||||||
int deltaKind = delta.getKind();
|
int deltaKind = delta.getKind();
|
||||||
if (deltaKind == IResourceDelta.ADDED) {
|
if (deltaKind == IResourceDelta.ADDED) {
|
||||||
if (hasTargetBuilder(project)) {
|
if (hasTargetBuilder(project) && !fProjects.contains(project)) {
|
||||||
fProjects.add(project);
|
fProjects.add(project);
|
||||||
notifyListeners(new MakeTargetEvent(MakeTargetManager.this, MakeTargetEvent.PROJECT_ADDED, project));
|
notifyListeners(new MakeTargetEvent(MakeTargetManager.this, MakeTargetEvent.PROJECT_ADDED, project));
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,19 +131,19 @@ public class ProjectTargets {
|
||||||
}
|
}
|
||||||
|
|
||||||
public IMakeTarget[] get(IContainer container) {
|
public IMakeTarget[] get(IContainer container) {
|
||||||
ArrayList list = (ArrayList)targetMap.get(container);
|
ArrayList list = (ArrayList) targetMap.get(container);
|
||||||
if (list != null) {
|
if (list != null) {
|
||||||
return (IMakeTarget[])list.toArray(new IMakeTarget[list.size()]);
|
return (IMakeTarget[]) list.toArray(new IMakeTarget[list.size()]);
|
||||||
}
|
}
|
||||||
return new IMakeTarget[0];
|
return new IMakeTarget[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
public IMakeTarget findTarget(IContainer container, String name) {
|
public IMakeTarget findTarget(IContainer container, String name) {
|
||||||
ArrayList list = (ArrayList)targetMap.get(container);
|
ArrayList list = (ArrayList) targetMap.get(container);
|
||||||
if (list != null) {
|
if (list != null) {
|
||||||
Iterator targets = list.iterator();
|
Iterator targets = list.iterator();
|
||||||
while (targets.hasNext()) {
|
while (targets.hasNext()) {
|
||||||
IMakeTarget target = (IMakeTarget)targets.next();
|
IMakeTarget target = (IMakeTarget) targets.next();
|
||||||
if (target.getName().equals(name)) {
|
if (target.getName().equals(name)) {
|
||||||
return target;
|
return target;
|
||||||
}
|
}
|
||||||
|
@ -153,7 +153,7 @@ public class ProjectTargets {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(MakeTarget target) throws CoreException {
|
public void add(MakeTarget target) throws CoreException {
|
||||||
ArrayList list = (ArrayList)targetMap.get(target.getContainer());
|
ArrayList list = (ArrayList) targetMap.get(target.getContainer());
|
||||||
if (list != null && list.contains(target)) {
|
if (list != null && list.contains(target)) {
|
||||||
throw new CoreException(new Status(IStatus.ERROR, MakeCorePlugin.getUniqueIdentifier(), -1, MakeCorePlugin.getResourceString("MakeTargetManager.target_exists"), null)); //$NON-NLS-1$
|
throw new CoreException(new Status(IStatus.ERROR, MakeCorePlugin.getUniqueIdentifier(), -1, MakeCorePlugin.getResourceString("MakeTargetManager.target_exists"), null)); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
@ -165,22 +165,23 @@ public class ProjectTargets {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean contains(MakeTarget target) {
|
public boolean contains(MakeTarget target) {
|
||||||
ArrayList list = (ArrayList)targetMap.get(target.getContainer());
|
ArrayList list = (ArrayList) targetMap.get(target.getContainer());
|
||||||
if (list != null && list.contains(target)) {
|
if (list != null && list.contains(target)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void remove(IMakeTarget target) {
|
public boolean remove(IMakeTarget target) {
|
||||||
ArrayList list = (ArrayList)targetMap.get(target.getContainer());
|
ArrayList list = (ArrayList) targetMap.get(target.getContainer());
|
||||||
if (list == null || !list.contains(target)) {
|
if (list == null || !list.contains(target)) {
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
list.remove(target);
|
boolean found = list.remove(target);
|
||||||
if (list.size() == 0) {
|
if (list.size() == 0) {
|
||||||
targetMap.remove(list);
|
targetMap.remove(list);
|
||||||
}
|
}
|
||||||
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IProject getProject() {
|
public IProject getProject() {
|
||||||
|
@ -193,9 +194,9 @@ public class ProjectTargets {
|
||||||
doc.appendChild(targetsRootElement);
|
doc.appendChild(targetsRootElement);
|
||||||
Iterator container = targetMap.entrySet().iterator();
|
Iterator container = targetMap.entrySet().iterator();
|
||||||
while (container.hasNext()) {
|
while (container.hasNext()) {
|
||||||
List targets = (List) ((Map.Entry)container.next()).getValue();
|
List targets = (List) ((Map.Entry) container.next()).getValue();
|
||||||
for (int i = 0; i < targets.size(); i++) {
|
for (int i = 0; i < targets.size(); i++) {
|
||||||
MakeTarget target = (MakeTarget)targets.get(i);
|
MakeTarget target = (MakeTarget) targets.get(i);
|
||||||
targetsRootElement.appendChild(createTargetElement(doc, target));
|
targetsRootElement.appendChild(createTargetElement(doc, target));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue