diff --git a/src/net/java/sip/communicator/service/protocol/AbstractOperationSetBasicInstantMessaging.java b/src/net/java/sip/communicator/service/protocol/AbstractOperationSetBasicInstantMessaging.java index cea91537f..d86323c54 100644 --- a/src/net/java/sip/communicator/service/protocol/AbstractOperationSetBasicInstantMessaging.java +++ b/src/net/java/sip/communicator/service/protocol/AbstractOperationSetBasicInstantMessaging.java @@ -177,17 +177,26 @@ else if (evt instanceof MessageDeliveryFailedEvent) .hasNext();) { MessageListener listener = listenerIter.next(); - switch (eventType){ - case MessageDelivered: - listener.messageDelivered((MessageDeliveredEvent) evt); - break; - case MessageDeliveryFailed: - listener - .messageDeliveryFailed((MessageDeliveryFailedEvent) evt); - break; - case MessageReceived: - listener.messageReceived((MessageReceivedEvent) evt); - break; + + try + { + switch (eventType) + { + case MessageDelivered: + listener.messageDelivered((MessageDeliveredEvent) evt); + break; + case MessageDeliveryFailed: + listener + .messageDeliveryFailed((MessageDeliveryFailedEvent)evt); + break; + case MessageReceived: + listener.messageReceived((MessageReceivedEvent) evt); + break; + } + } + catch (Throwable e) + { + logger.error("Error delivering message", e); } } }