comparison src/buddy.c @ 4745:01cae9259e2f

[gaim-migrate @ 5060] fixes a bug where if all your accounts got logged off, thus making the buddy list disappear, you could never get it back. That makes for a bad time when your internet connection goes out (like mine did last night) also makes some of the prpl tooltips spiffier, and re-does some of the handling of away messages in jabber, thus making it cooler. committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Thu, 13 Mar 2003 17:52:21 +0000
parents a0746ffce599
children 54fbd9769677
comparison
equal deleted inserted replaced
4744:a0746ffce599 4745:01cae9259e2f
860 GtkWidget *button; 860 GtkWidget *button;
861 GtkSizeGroup *sg; 861 GtkSizeGroup *sg;
862 GtkTargetEntry gte[] = {{"GAIM_BUDDY", GTK_TARGET_SAME_APP, DRAG_ROW}, 862 GtkTargetEntry gte[] = {{"GAIM_BUDDY", GTK_TARGET_SAME_APP, DRAG_ROW},
863 {"application/x-im-contact", 0, DRAG_BUDDY}}; 863 {"application/x-im-contact", 0, DRAG_BUDDY}};
864 864
865 if (gtkblist) { 865 if (gtkblist && gtkblist->window) {
866 gtk_widget_show(gtkblist->window); 866 gtk_widget_show(gtkblist->window);
867 return; 867 return;
868 } 868 }
869 869
870 gtkblist = GAIM_GTK_BLIST(list); 870 gtkblist = GAIM_GTK_BLIST(list);
1204 } 1204 }
1205 1205
1206 static void gaim_gtk_blist_destroy(struct gaim_buddy_list *list) 1206 static void gaim_gtk_blist_destroy(struct gaim_buddy_list *list)
1207 { 1207 {
1208 gtk_widget_destroy(gtkblist->window); 1208 gtk_widget_destroy(gtkblist->window);
1209
1210 gtkblist->window = gtkblist->vbox = gtkblist->treeview = NULL;
1211 gtkblist->treemodel = NULL;
1212 gtkblist->idle_column = NULL;
1213 gtkblist->warning_column = gtkblist->buddy_icon_column = NULL;
1214 gtkblist->bbox = gtkblist->tipwindow = NULL;
1215 protomenu = NULL;
1216 awaymenu = NULL;
1217 bpmenu = NULL;
1218
1219 gtkblist->timeout = 0;
1209 } 1220 }
1210 1221
1211 static void gaim_gtk_blist_set_visible(struct gaim_buddy_list *list, gboolean show) 1222 static void gaim_gtk_blist_set_visible(struct gaim_buddy_list *list, gboolean show)
1212 { 1223 {
1213 if (show) { 1224 if (show) {
1268 { 1279 {
1269 docklet_count--; 1280 docklet_count--;
1270 if (!docklet_count) { 1281 if (!docklet_count) {
1271 if (connections) { 1282 if (connections) {
1272 gaim_blist_set_visible(TRUE); 1283 gaim_blist_set_visible(TRUE);
1273 } else { 1284 } else if(gtkblist && gtkblist->window) {
1274 gtk_window_present(GTK_WINDOW(gtkblist->window)); 1285 gtk_window_present(GTK_WINDOW(gtkblist->window));
1275 } 1286 }
1276 } 1287 }
1277 } 1288 }
1278 1289