aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/service/message_processor.vala
diff options
context:
space:
mode:
Diffstat (limited to 'libdino/src/service/message_processor.vala')
-rw-r--r--libdino/src/service/message_processor.vala18
1 files changed, 8 insertions, 10 deletions
diff --git a/libdino/src/service/message_processor.vala b/libdino/src/service/message_processor.vala
index ccaec915..390199d5 100644
--- a/libdino/src/service/message_processor.vala
+++ b/libdino/src/service/message_processor.vala
@@ -118,23 +118,21 @@ public class MessageProcessor : StreamInteractionModule, Object {
}
} else {
Core.XmppStream stream = stream_interactor.get_stream(account);
- if (stream != null) stream.get_module(Xep.ServiceDiscovery.Module.IDENTITY).get_entity_categories(stream, message.counterpart.bare_jid.to_string(), (stream, identities, store) => {
- Triple<MessageProcessor, Entities.Message, Xmpp.Message.Stanza> triple = store as Triple<MessageProcessor, Entities.Message, Xmpp.Message.Stanza>;
- Entities.Message m = triple.b;
+ if (stream != null) stream.get_module(Xep.ServiceDiscovery.Module.IDENTITY).get_entity_categories(stream, message.counterpart.bare_jid.to_string(), (stream, identities) => {
if (identities == null) {
- m.type_ = Entities.Message.Type.CHAT;
- triple.a.process_message(m, triple.c);
+ message.type_ = Entities.Message.Type.CHAT;
+ process_message(message, message_stanza);
return;
}
foreach (Xep.ServiceDiscovery.Identity identity in identities) {
if (identity.category == Xep.ServiceDiscovery.Identity.CATEGORY_CONFERENCE) {
- m.type_ = Entities.Message.Type.GROUPCHAT_PM;
+ message.type_ = Entities.Message.Type.GROUPCHAT_PM;
} else {
- m.type_ = Entities.Message.Type.CHAT;
+ message.type_ = Entities.Message.Type.CHAT;
}
- triple.a.process_message(m, triple.c);
+ process_message(message, message_stanza);
}
- }, Triple.create(this, message, message_stanza));
+ });
}
}
}
@@ -185,4 +183,4 @@ public class MessageProcessor : StreamInteractionModule, Object {
}
}
-} \ No newline at end of file
+}