From: Mark D. <the...@us...> - 2003-06-29 20:57:36
|
Update of /cvsroot/gaim/gaim/src In directory sc8-pr-cvs1:/tmp/cvs-serv32226/src Modified Files: dialogs.c gaim.h gtkblist.c gtkconv.c Log Message: I made some changes so that, if you have 2 buddies in your buddy list with the same name, and you delete one by right clicking on it in the blist, gaim will delete the one you right clicked rather than an arbitrary one. I think the hash table that speeds up stuff in gtkblist.c has problems with having the same buddy in a group twice. Someone should look into that. Like, right now it treats buddy name/group name/account as a unique key, but right now that is not a unique key. Index: dialogs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v retrieving revision 1.493 retrieving revision 1.494 diff -u -d -r1.493 -r1.494 --- dialogs.c 28 Jun 2003 17:15:22 -0000 1.493 +++ dialogs.c 29 Jun 2003 20:57:27 -0000 1.494 @@ -440,16 +440,15 @@ gaim_blist_save(); } -void show_confirm_del(GaimConnection *gc, gchar *name) +void show_confirm_del(struct buddy *b) { - struct buddy *bd = gaim_find_buddy(gc->account, name); char *text; - if (!bd) + if (!b) return; - text = g_strdup_printf(_("You are about to remove %s from your buddy list. Do you want to continue?"), name); + text = g_strdup_printf(_("You are about to remove %s from your buddy list. Do you want to continue?"), b->name); - gaim_request_action(NULL, NULL, _("Remove Buddy"), text, -1, bd, 2, + gaim_request_action(NULL, NULL, _("Remove Buddy"), text, -1, b, 2, _("Remove Buddy"), G_CALLBACK(do_remove_buddy), _("Cancel"), NULL); Index: gaim.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/gaim.h,v retrieving revision 1.402 retrieving revision 1.403 diff -u -d -r1.402 -r1.403 --- gaim.h 14 Jun 2003 23:21:00 -0000 1.402 +++ gaim.h 29 Jun 2003 20:57:28 -0000 1.403 @@ -46,7 +46,7 @@ extern void show_find_email(GaimConnection *); extern void show_find_info(GaimConnection *); extern void show_set_info(GaimConnection *); -extern void show_confirm_del(GaimConnection *, gchar *); +extern void show_confirm_del(struct buddy *); extern void show_confirm_del_group(struct group *); extern void show_confirm_del_chat(struct chat *); Index: gtkblist.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkblist.c,v retrieving revision 1.62 retrieving revision 1.63 diff -u -d -r1.62 -r1.63 --- gtkblist.c 23 Jun 2003 06:40:13 -0000 1.62 +++ gtkblist.c 29 Jun 2003 20:57:28 -0000 1.63 @@ -357,7 +357,7 @@ { if (GAIM_BLIST_NODE_IS_BUDDY(node)) { struct buddy *b = (struct buddy*)node; - show_confirm_del(b->account->gc, b->name); + show_confirm_del(b); } else if (GAIM_BLIST_NODE_IS_CHAT(node)) { struct chat *chat = (struct chat*)node; show_confirm_del_chat(chat); Index: gtkconv.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkconv.c,v retrieving revision 1.150 retrieving revision 1.151 diff -u -d -r1.150 -r1.151 --- gtkconv.c 27 Jun 2003 23:11:21 -0000 1.150 +++ gtkconv.c 29 Jun 2003 20:57:28 -0000 1.151 @@ -444,7 +444,7 @@ b = gaim_find_buddy(gc->account, name); if (b != NULL) - show_confirm_del(gc, (char *)name); + show_confirm_del(b); else if (gc != NULL) show_add_buddy(gc, (char *)name, NULL, NULL); @@ -981,7 +981,7 @@ b = gaim_find_buddy(gc->account, name); if (b != NULL) - show_confirm_del(gc, name); + show_confirm_del(b); else if (gc != NULL) show_add_buddy(gc, name, NULL, NULL); |