mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-19 02:16:21 +00:00
@@ -145,7 +145,9 @@ muc_join_room(const char * const room, const char * const nick)
|
||||
void
|
||||
muc_leave_room(const char * const room)
|
||||
{
|
||||
g_hash_table_remove(rooms, room);
|
||||
if (rooms != NULL) {
|
||||
g_hash_table_remove(rooms, room);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -196,6 +196,11 @@ prof_handle_error_message(const char *from, const char *err_msg)
|
||||
} else {
|
||||
cons_show_error("Error received from server: %s", err_msg);
|
||||
}
|
||||
// remove the room from muc
|
||||
Jid *room_jid = jid_create(from);
|
||||
muc_leave_room(room_jid->barejid);
|
||||
jid_destroy(room_jid);
|
||||
|
||||
} else {
|
||||
cons_show_error("Error received from server: %s", err_msg);
|
||||
}
|
||||
|
||||
@@ -320,10 +320,12 @@ presence_leave_chat_room(const char * const room_jid)
|
||||
xmpp_conn_t *conn = connection_get_conn();
|
||||
char *nick = muc_get_room_nick(room_jid);
|
||||
|
||||
xmpp_stanza_t *presence = stanza_create_room_leave_presence(ctx, room_jid,
|
||||
nick);
|
||||
xmpp_send(conn, presence);
|
||||
xmpp_stanza_release(presence);
|
||||
if (nick != NULL) {
|
||||
xmpp_stanza_t *presence = stanza_create_room_leave_presence(ctx, room_jid,
|
||||
nick);
|
||||
xmpp_send(conn, presence);
|
||||
xmpp_stanza_release(presence);
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
|
||||
Reference in New Issue
Block a user