mucwin_room_disco_info takes ProfMucWin

This commit is contained in:
James Booth
2015-11-01 23:33:50 +00:00
parent 363fda82c1
commit d21faa4609
4 changed files with 39 additions and 38 deletions

View File

@@ -153,10 +153,11 @@ mucwin_room_info_error(ProfMucWin *mucwin, const char *const error)
} }
void void
mucwin_room_disco_info(const char *const roomjid, GSList *identities, GSList *features) mucwin_room_disco_info(ProfMucWin *mucwin, GSList *identities, GSList *features)
{ {
ProfWin *window = (ProfWin*)wins_get_muc(roomjid); assert(mucwin != NULL);
if (window) {
ProfWin *window = (ProfWin*)mucwin;
if ((identities && (g_slist_length(identities) > 0)) || if ((identities && (g_slist_length(identities) > 0)) ||
(features && (g_slist_length(features) > 0))) { (features && (g_slist_length(features) > 0))) {
if (identities) { if (identities) {
@@ -190,7 +191,6 @@ mucwin_room_disco_info(const char *const roomjid, GSList *identities, GSList *fe
} }
win_print(window, '-', 0, NULL, 0, 0, "", ""); win_print(window, '-', 0, NULL, 0, 0, "", "");
} }
}
} }
void void

View File

@@ -182,7 +182,7 @@ void mucwin_info(ProfMucWin *mucwin);
void mucwin_show_role_list(ProfMucWin *mucwin, muc_role_t role); void mucwin_show_role_list(ProfMucWin *mucwin, muc_role_t role);
void mucwin_show_affiliation_list(ProfMucWin *mucwin, muc_affiliation_t affiliation); void mucwin_show_affiliation_list(ProfMucWin *mucwin, muc_affiliation_t affiliation);
void mucwin_room_info_error(ProfMucWin *mucwin, const char *const error); void mucwin_room_info_error(ProfMucWin *mucwin, const char *const error);
void mucwin_room_disco_info(const char *const roomjid, GSList *identities, GSList *features); void mucwin_room_disco_info(ProfMucWin *mucwin, GSList *identities, GSList *features);
void mucwin_occupant_kicked(const char *const roomjid, const char *const nick, const char *const actor, void mucwin_occupant_kicked(const char *const roomjid, const char *const nick, const char *const actor,
const char *const reason); const char *const reason);
void mucwin_occupant_banned(const char *const roomjid, const char *const nick, const char *const actor, void mucwin_occupant_banned(const char *const roomjid, const char *const nick, const char *const actor,

View File

@@ -1562,8 +1562,9 @@ _room_info_response_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza
} }
muc_set_features(cb_data->room, features); muc_set_features(cb_data->room, features);
if (cb_data->display) { ProfMucWin *mucwin = wins_get_muc(cb_data->room);
mucwin_room_disco_info(cb_data->room, identities, features); if (mucwin && cb_data->display) {
mucwin_room_disco_info(mucwin, identities, features);
} }
g_slist_free_full(features, free); g_slist_free_full(features, free);

View File

@@ -215,7 +215,7 @@ void mucwin_info(ProfMucWin *mucwin) {}
void mucwin_show_role_list(ProfMucWin *mucwin, muc_role_t role) {} void mucwin_show_role_list(ProfMucWin *mucwin, muc_role_t role) {}
void mucwin_show_affiliation_list(ProfMucWin *mucwin, muc_affiliation_t affiliation) {} void mucwin_show_affiliation_list(ProfMucWin *mucwin, muc_affiliation_t affiliation) {}
void mucwin_room_info_error(ProfMucWin *mucwin, const char * const error) {} void mucwin_room_info_error(ProfMucWin *mucwin, const char * const error) {}
void mucwin_room_disco_info(const char * const roomjid, GSList *identities, GSList *features) {} void mucwin_room_disco_info(ProfMucWin *mucwin, GSList *identities, GSList *features) {}
void ui_room_destroyed(const char * const roomjid, const char * const reason, const char * const new_jid, void ui_room_destroyed(const char * const roomjid, const char * const reason, const char * const new_jid,
const char * const password) {} const char * const password) {}
void ui_room_kicked(const char * const roomjid, const char * const actor, const char * const reason) {} void ui_room_kicked(const char * const roomjid, const char * const actor, const char * const reason) {}