From 01181780801a46ecc6996be5b75b2245c1c1b953 Mon Sep 17 00:00:00 2001 From: James Booth Date: Fri, 1 May 2015 00:55:40 +0100 Subject: Removed server event delegation functions --- src/xmpp/presence.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/xmpp/presence.c') diff --git a/src/xmpp/presence.c b/src/xmpp/presence.c index 123717cc..0c6702b3 100644 --- a/src/xmpp/presence.c +++ b/src/xmpp/presence.c @@ -44,6 +44,7 @@ #include "log.h" #include "muc.h" #include "profanity.h" +#include "ui/ui.h" #include "event/server_events.h" #include "xmpp/capabilities.h" #include "xmpp/connection.h" @@ -372,7 +373,10 @@ _presence_error_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza, } log_info("Error joining room: %s, reason: %s", fulljid->barejid, error_cond); - sv_ev_room_join_error(fulljid->barejid, error_cond); + if (muc_active(fulljid->barejid)) { + muc_leave(fulljid->barejid); + } + ui_handle_room_join_error(fulljid->barejid, error_cond); jid_destroy(fulljid); return 1; } @@ -400,7 +404,11 @@ _presence_error_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza, g_string_free(log_msg, TRUE); - sv_ev_presence_error(from, type, err_msg); + if (from != NULL) { + ui_handle_recipient_error(from, err_msg); + } else { + ui_handle_error(err_msg); + } free(err_msg); -- cgit 1.4.1-2-gfad0