aboutsummaryrefslogtreecommitdiff
path: root/xmpp-vala/src/module/xep/0272_muji.vala
diff options
context:
space:
mode:
Diffstat (limited to 'xmpp-vala/src/module/xep/0272_muji.vala')
-rw-r--r--xmpp-vala/src/module/xep/0272_muji.vala17
1 files changed, 13 insertions, 4 deletions
diff --git a/xmpp-vala/src/module/xep/0272_muji.vala b/xmpp-vala/src/module/xep/0272_muji.vala
index 8226da10..b287295c 100644
--- a/xmpp-vala/src/module/xep/0272_muji.vala
+++ b/xmpp-vala/src/module/xep/0272_muji.vala
@@ -56,9 +56,13 @@ namespace Xmpp.Xep.Muji {
muji_node.put_node(content_node);
}
- Presence.Stanza presence_stanza = new Presence.Stanza() { to=muc_jid.with_resource(group_call.our_nick) };
- presence_stanza.stanza.put_node(muji_node);
- stream.get_module(Presence.Module.IDENTITY).send_presence(stream, presence_stanza);
+ try {
+ Presence.Stanza presence_stanza = new Presence.Stanza() { to=muc_jid.with_resource(group_call.our_nick) };
+ presence_stanza.stanza.put_node(muji_node);
+ stream.get_module(Presence.Module.IDENTITY).send_presence(stream, presence_stanza);
+ } catch (InvalidJidError e) {
+ error("Group call participant jid was invalid: %s", e.message);
+ }
return group_call;
}
@@ -86,7 +90,12 @@ namespace Xmpp.Xep.Muji {
GroupCall group_call = stream.get_flag(Flag.IDENTITY).calls[muc_jid];
group_call.waiting_for_finish_prepares[promise] = preparing_peers;
- return yield promise.future.wait_async();
+ try {
+ return yield promise.future.wait_async();
+ } catch (FutureError e) {
+ warning("Failed waiting for preparing peers: %s", e.message);
+ return new ArrayList<Presence.Stanza>();
+ }
}
private async void compute_payload_intersection(XmppStream stream, GroupCall group_call, string media) {