| 234 static gboolean |
234 static gboolean |
| 235 close_this_sucker(gpointer data) |
235 close_this_sucker(gpointer data) |
| 236 { |
236 { |
| 237 PidginConversation *gtkconv = data; |
237 PidginConversation *gtkconv = data; |
| 238 GList *list = g_list_copy(gtkconv->convs); |
238 GList *list = g_list_copy(gtkconv->convs); |
| 239 g_list_foreach(list, (GFunc)g_object_unref, NULL); |
239 g_list_free_full(list, g_object_unref); |
| 240 g_list_free(list); |
|
| 241 return FALSE; |
240 return FALSE; |
| 242 } |
241 } |
| 243 |
242 |
| 244 static gboolean |
243 static gboolean |
| 245 close_conv_cb(GtkButton *button, PidginConversation *gtkconv) |
244 close_conv_cb(GtkButton *button, PidginConversation *gtkconv) |
| 4659 purple_signals_disconnect_by_handle(gtkconv->u.chat); |
4658 purple_signals_disconnect_by_handle(gtkconv->u.chat); |
| 4660 g_free(gtkconv->u.chat); |
4659 g_free(gtkconv->u.chat); |
| 4661 } |
4660 } |
| 4662 |
4661 |
| 4663 gtkconv->send_history = g_list_first(gtkconv->send_history); |
4662 gtkconv->send_history = g_list_first(gtkconv->send_history); |
| 4664 g_list_foreach(gtkconv->send_history, (GFunc)g_free, NULL); |
4663 g_list_free_full(gtkconv->send_history, g_free); |
| 4665 g_list_free(gtkconv->send_history); |
|
| 4666 |
4664 |
| 4667 if (gtkconv->attach_timer) { |
4665 if (gtkconv->attach_timer) { |
| 4668 g_source_remove(gtkconv->attach_timer); |
4666 g_source_remove(gtkconv->attach_timer); |
| 4669 } |
4667 } |
| 4670 |
4668 |