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:
parent
70629e88a9
commit
2bad84d031
1 changed files with 6 additions and 9 deletions
|
@ -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){
|
||||
|
|
Loading…
Add table
Reference in a new issue