| 6130 update_typing_message(gtkconv, NULL); |
6130 update_typing_message(gtkconv, NULL); |
| 6131 } |
6131 } |
| 6132 |
6132 |
| 6133 static gboolean get_iter_from_chatbuddy(PurpleConvChatBuddy *cb, GtkTreeIter *iter) |
6133 static gboolean get_iter_from_chatbuddy(PurpleConvChatBuddy *cb, GtkTreeIter *iter) |
| 6134 { |
6134 { |
| 6135 GtkTreeRowReference *ref = cb->ui_data; |
6135 GtkTreeRowReference *ref; |
| 6136 GtkTreePath *path; |
6136 GtkTreePath *path; |
| 6137 GtkTreeModel *model; |
6137 GtkTreeModel *model; |
| 6138 |
6138 |
| |
6139 g_return_val_if_fail(cb != NULL, FALSE); |
| |
6140 |
| |
6141 ref = cb->ui_data; |
| 6139 if (!ref) |
6142 if (!ref) |
| 6140 return FALSE; |
6143 return FALSE; |
| 6141 |
6144 |
| 6142 if ((path = gtk_tree_row_reference_get_path(ref)) == NULL) |
6145 if ((path = gtk_tree_row_reference_get_path(ref)) == NULL) |
| 6143 return FALSE; |
6146 return FALSE; |
| 6313 |
6316 |
| 6314 if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter)) |
6317 if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter)) |
| 6315 return; |
6318 return; |
| 6316 |
6319 |
| 6317 cbuddy = purple_conv_chat_cb_find(chat, user); |
6320 cbuddy = purple_conv_chat_cb_find(chat, user); |
| |
6321 if (!cbuddy) |
| |
6322 return; |
| |
6323 |
| 6318 if (get_iter_from_chatbuddy(cbuddy, &iter)) { |
6324 if (get_iter_from_chatbuddy(cbuddy, &iter)) { |
| 6319 GtkTreeRowReference *ref = cbuddy->ui_data; |
6325 GtkTreeRowReference *ref = cbuddy->ui_data; |
| 6320 gtk_list_store_remove(GTK_LIST_STORE(model), &iter); |
6326 gtk_list_store_remove(GTK_LIST_STORE(model), &iter); |
| 6321 gtk_tree_row_reference_free(ref); |
6327 gtk_tree_row_reference_free(ref); |
| 6322 cbuddy->ui_data = NULL; |
6328 cbuddy->ui_data = NULL; |