comparison pidgin/gtkblist.c @ 27556:cbee8aecc90a

Free the buddy list data some more at shutdown and some deprecations. I think these deprecations are reasonable. Basically, purple_blist_init should create a PurpleBuddyList*, so each UI doesn't need to do that. The UI data for the PurpleBuddyList is more tightly coupled with the PurpleBuddyList and purple_blist_destroy is called in purple_blist_uninit (and is fully cleaned up now). As libpurple works currently, I believe it's not really possible to have multiple PurpleBuddyLists around (blist.c relies on a single global variable) and when it was discussed on the mailing list a few months ago, nobody was using it as such. Refs #9253 (going to milestone 3.0.0 it).
author Paul Aurich <paul@darkrain42.org>
date Sun, 12 Jul 2009 02:55:36 +0000
parents b2106bf5a6b4
children 381acdb3cedc
comparison
equal deleted inserted replaced
27555:5345dfe48272 27556:cbee8aecc90a
6712 #if !GTK_CHECK_VERSION(2,6,0) 6712 #if !GTK_CHECK_VERSION(2,6,0)
6713 gtk_tree_view_columns_autosize(GTK_TREE_VIEW(gtkblist->treeview)); 6713 gtk_tree_view_columns_autosize(GTK_TREE_VIEW(gtkblist->treeview));
6714 #endif 6714 #endif
6715 } 6715 }
6716 6716
6717
6718 static void pidgin_blist_destroy(PurpleBuddyList *list) 6717 static void pidgin_blist_destroy(PurpleBuddyList *list)
6719 { 6718 {
6720 PidginBuddyListPrivate *priv; 6719 PidginBuddyListPrivate *priv;
6721 6720
6722 if (!gtkblist) 6721 if (!list || !list->ui_data)
6723 return; 6722 return;
6723
6724 g_return_if_fail(list->ui_data != gtkblist);
6724 6725
6725 purple_signals_disconnect_by_handle(gtkblist); 6726 purple_signals_disconnect_by_handle(gtkblist);
6726 6727
6727 if (gtkblist->headline_close) 6728 if (gtkblist->headline_close)
6728 g_object_unref(G_OBJECT(gtkblist->headline_close)); 6729 g_object_unref(G_OBJECT(gtkblist->headline_close));