Skip to content

Commit

Permalink
optimize refresh chat members
Browse files Browse the repository at this point in the history
  • Loading branch information
sbwtw committed May 11, 2017
1 parent 468ea6c commit 90a4ae3
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions src/server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -957,10 +957,24 @@ unsafe fn refresh_chat_members(chat: &str) {
let conv = conversion(PURPLE_CONV_TYPE_CHAT, &chat.id());
let conv_chat = purple_conversation_get_chat_data(conv);

// clear old users
purple_conv_chat_clear_users(conv_chat);

// let flag = GINT_TO_POINTER(0); // PURPLE_CBFLAGS_NONE
let mut name_list = null_mut();
let mut flag_list = null_mut();
for member in chat.members() {
let id = CString::new(member.user_name()).unwrap();
purple_conv_chat_add_user(conv_chat, id.as_ptr(), null_mut(), PURPLE_CBFLAGS_NONE, 0);
let data_ptr = CString::new(member.user_name()).unwrap();
let ptr_dup = g_strdup(data_ptr.as_ptr()) as *mut c_void;
name_list = g_list_append(name_list, ptr_dup);
flag_list = g_list_append(flag_list, null_mut());
}

purple_conv_chat_add_users(conv_chat, name_list, null_mut(), flag_list, 0);

// free list
g_list_free_full(name_list, Some(g_free));
g_list_free_full(flag_list, Some(g_free));
}

unsafe fn add_group(chat: &ChatRoom) {
Expand Down

0 comments on commit 90a4ae3

Please sign in to comment.