aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/impl/protocol/irc/ChatRoomIrcImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java/sip/communicator/impl/protocol/irc/ChatRoomIrcImpl.java')
-rw-r--r--src/net/java/sip/communicator/impl/protocol/irc/ChatRoomIrcImpl.java37
1 files changed, 28 insertions, 9 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/irc/ChatRoomIrcImpl.java b/src/net/java/sip/communicator/impl/protocol/irc/ChatRoomIrcImpl.java
index 8e9c7ff..8dc67f1 100644
--- a/src/net/java/sip/communicator/impl/protocol/irc/ChatRoomIrcImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/irc/ChatRoomIrcImpl.java
@@ -702,17 +702,36 @@ public class ChatRoomIrcImpl
{
assertConnected();
- if (((MessageIrcImpl) message).isCommand())
- {
- parentProvider.getIrcStack().sendCommand(this, message);
- }
- else
+ String[] splitMessages = message.getContent().split("\n");
+
+ String messagePortion = null;
+ for (int i = 0; i < splitMessages.length; i ++)
{
- parentProvider.getIrcStack()
- .sendMessage(chatRoomName, message.getContent());
- }
+ messagePortion = splitMessages[i];
+
+ // As we only send one message per line, we ignore empty lines in
+ // the incoming multi line message.
+ if(messagePortion.equals("\n")
+ || messagePortion.matches("[\\ ]*"))
+ continue;
- this.fireMessageDeliveredEvent(message);
+ if (((MessageIrcImpl) message).isCommand())
+ {
+ parentProvider.getIrcStack()
+ .sendCommand(this, messagePortion);
+ }
+ else
+ {
+ parentProvider.getIrcStack()
+ .sendMessage(chatRoomName, messagePortion);
+ }
+
+ this.fireMessageDeliveredEvent(
+ new MessageIrcImpl( messagePortion,
+ message.getContentType(),
+ message.getEncoding(),
+ message.getSubject()));
+ }
}
/**