aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/add_conversation/select_jid_fragment.vala
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2019-12-22 04:10:53 +0100
committerMarvin W <git@larma.de>2019-12-23 16:58:53 +0100
commita0a956ee0878d24bd06be7f5d75dc4ccd4e7901d (patch)
treecbb079649066c2001b6d6881137108e70eed9d3f /main/src/ui/add_conversation/select_jid_fragment.vala
parent3218dc0211ac717230fe03fad82681a626d968b5 (diff)
downloaddino-a0a956ee0878d24bd06be7f5d75dc4ccd4e7901d.tar.gz
dino-a0a956ee0878d24bd06be7f5d75dc4ccd4e7901d.zip
Properly check Jids everywhere
Diffstat (limited to 'main/src/ui/add_conversation/select_jid_fragment.vala')
-rw-r--r--main/src/ui/add_conversation/select_jid_fragment.vala22
1 files changed, 13 insertions, 9 deletions
diff --git a/main/src/ui/add_conversation/select_jid_fragment.vala b/main/src/ui/add_conversation/select_jid_fragment.vala
index 09792c75..f0170cfb 100644
--- a/main/src/ui/add_conversation/select_jid_fragment.vala
+++ b/main/src/ui/add_conversation/select_jid_fragment.vala
@@ -53,13 +53,17 @@ public class SelectJidFragment : Gtk.Box {
string[] ? values = str == "" ? null : str.split(" ");
filterable_list.set_filter_values(values);
- Jid? parsed_jid = Jid.parse(str);
- if (parsed_jid != null && parsed_jid.localpart != null) {
- foreach (Account account in accounts) {
- AddListRow row = new AddListRow(stream_interactor, str, account);
- filterable_list.add(row);
- added_rows.add(row);
+ try {
+ Jid parsed_jid = new Jid(str);
+ if (parsed_jid != null && parsed_jid.localpart != null) {
+ foreach (Account account in accounts) {
+ AddListRow row = new AddListRow(stream_interactor, parsed_jid, account);
+ filterable_list.add(row);
+ added_rows.add(row);
+ }
}
+ } catch (InvalidJidError ignored) {
+ // Ignore
}
}
@@ -82,11 +86,11 @@ public class SelectJidFragment : Gtk.Box {
private class AddListRow : ListRow {
- public AddListRow(StreamInteractor stream_interactor, string jid, Account account) {
+ public AddListRow(StreamInteractor stream_interactor, Jid jid, Account account) {
this.account = account;
- this.jid = new Jid(jid);
+ this.jid = jid;
- name_label.label = jid;
+ name_label.label = jid.to_string();
if (stream_interactor.get_accounts().size > 1) {
via_label.label = account.bare_jid.to_string();
} else {