diff options
author | Paul Fariello <paul@fariello.eu> | 2019-04-01 13:42:24 +0200 |
---|---|---|
committer | Paul Fariello <paul@fariello.eu> | 2019-04-10 17:23:46 +0200 |
commit | 65b3f82c5f40e26b384d734a3d1206c09bf45ba5 (patch) | |
tree | 6951f420f6043dfaaadde86b2cc468ed59ed873c /src | |
parent | 898302243e2890c0d2ffc6c48451718e43a85d23 (diff) | |
download | profani-tty-65b3f82c5f40e26b384d734a3d1206c09bf45ba5.tar.gz |
Fix devicelist notification handler
devicelist handler should be kept after trigger
Diffstat (limited to 'src')
-rw-r--r-- | src/xmpp/message.c | 3 | ||||
-rw-r--r-- | src/xmpp/omemo.c | 8 |
2 files changed, 5 insertions, 6 deletions
diff --git a/src/xmpp/message.c b/src/xmpp/message.c index bc91ef3b..2a6ad234 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -142,7 +142,6 @@ _message_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *con if (handler) { int keep = handler->func(stanza, handler->userdata); if (!keep) { - free(handler); g_hash_table_remove(pubsub_event_handlers, node); } } @@ -176,7 +175,7 @@ message_handlers_init(void) g_hash_table_destroy(pubsub_event_handlers); } - pubsub_event_handlers = g_hash_table_new_full(g_str_hash, g_str_equal, free, NULL); + pubsub_event_handlers = g_hash_table_new_full(g_str_hash, g_str_equal, free, free); } void diff --git a/src/xmpp/omemo.c b/src/xmpp/omemo.c index c8ac7ed5..8c8d56e0 100644 --- a/src/xmpp/omemo.c +++ b/src/xmpp/omemo.c @@ -337,19 +337,19 @@ _omemo_receive_devicelist(xmpp_stanza_t *const stanza, void *const userdata) } if (!root) { - return 0; + return 1; } xmpp_stanza_t *items = xmpp_stanza_get_child_by_name(root, "items"); if (!items) { - return 0; + return 1; } xmpp_stanza_t *item = xmpp_stanza_get_child_by_name(items, "item"); if (item) { xmpp_stanza_t *list = xmpp_stanza_get_child_by_ns(item, STANZA_NS_OMEMO); if (!list) { - return 0; + return 1; } xmpp_stanza_t *device; @@ -360,7 +360,7 @@ _omemo_receive_devicelist(xmpp_stanza_t *const stanza, void *const userdata) } omemo_set_device_list(from, device_list); - return 0; + return 1; } static int |