From 0ace326f6c8544534777b96e412fd2ae2c28fed3 Mon Sep 17 00:00:00 2001 From: Lyubomir Marinov Date: Tue, 26 Aug 2008 10:13:46 +0000 Subject: [PATCH] When registering method processors with ProtocolProviderServiceSipImpl, registers the latest of one an the same Class in order to not register one and the same OperationSet multiple times. --- .../sip/ProtocolProviderServiceSipImpl.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java b/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java index 7ec94cb56..9f5a59b5c 100644 --- a/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java @@ -2123,10 +2123,20 @@ public void registerMethodProcessor(String method, processors = new LinkedList(); methodProcessors.put(method, processors); } - if (processors.contains(methodProcessor) == false) + else { - processors.add(methodProcessor); + Class methodProcessorClass = methodProcessor.getClass(); + for (Iterator processorIter = + processors.iterator(); processorIter.hasNext();) + { + if (processorIter.next().getClass() + .equals(methodProcessorClass)) + { + processorIter.remove(); + } + } } + processors.add(methodProcessor); } /**