I noticed a bug in OTR.
net.java.sip.communicator.plugin.otr.ScOtrEngineImpl.contactsMap maps from
SessionID to Contact. It makes sense that this map gets cleaned up from
Contact's after ProtocolProviderService gets unregistered, otherwise old
Contacts that contain references to the unregistered
ProtocolProviderService will remain and accessing these Contacts leads to
exceptions and failure in the OTR plugin.
One way to reproduce the bug is as follows:
1. Log in you XMPP account
2. Disable your XMPP account
3. Enable your XMPP account
-> The OTR plugin is no longer working for contacts in your XMPP account
I'm sending you a patch with a fix.
OTR bugfix1.patch (4.2 KB)