1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

bug 303365: CProjectDescriptorManager.removeCProjectDescriptionListener() does not remove listeners

Patch from David Dubrow
This commit is contained in:
Andrew Gvozdev 2010-02-21 22:35:27 +00:00
parent 70629e88a9
commit 2bad84d031

View file

@ -231,14 +231,6 @@ public class CProjectDescriptionManager implements ICProjectDescriptionManager {
public boolean handlesEvent(int eventType){
return (eventType & fEventTypes) != 0;
}
@Override
public int hashCode() {
return fListener.hashCode();
}
@Override
public boolean equals(Object obj) {
return fListener.equals(obj);
}
}
private volatile Map<String, CConfigurationDataProviderDescriptor> fProviderMap;
@ -2121,7 +2113,12 @@ public class CProjectDescriptionManager implements ICProjectDescriptionManager {
}
public void removeCProjectDescriptionListener(ICProjectDescriptionListener listener) {
fListeners.remove(listener);
for (ListenerDescriptor listenerDescriptor : fListeners) {
if (listenerDescriptor.fListener.equals(listener)) {
fListeners.remove(listenerDescriptor);
break;
}
}
}
public void notifyListeners(CProjectDescriptionEvent event){