comparison src/dialogs.c @ 2681:37d80035e77f

[gaim-migrate @ 2694] don't ask. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Tue, 06 Nov 2001 23:58:24 +0000
parents 94aa499ecd39
children f3c094e78609
comparison
equal deleted inserted replaced
2680:ab2ca2770d2e 2681:37d80035e77f
3765 3765
3766 static void do_rename_buddy(GtkObject *obj, GtkWidget *entry) 3766 static void do_rename_buddy(GtkObject *obj, GtkWidget *entry)
3767 { 3767 {
3768 char *new_name; 3768 char *new_name;
3769 struct buddy *b; 3769 struct buddy *b;
3770 GSList *gr;
3770 3771
3771 new_name = gtk_entry_get_text(GTK_ENTRY(entry)); 3772 new_name = gtk_entry_get_text(GTK_ENTRY(entry));
3772 b = gtk_object_get_user_data(obj); 3773 b = gtk_object_get_user_data(obj);
3773 3774
3775 if (!g_slist_find(connections, b->gc)) {
3776 destroy_dialog(rename_bud_dialog, rename_bud_dialog);
3777 return;
3778 }
3779
3780 gr = b->gc->groups;
3781 while (gr) {
3782 if (g_slist_find(((struct group *)gr->data)->members, b))
3783 break;
3784 gr = gr->next;
3785 }
3786 if (!gr) {
3787 destroy_dialog(rename_bud_dialog, rename_bud_dialog);
3788 return;
3789 }
3790
3774 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, b->name)) { 3791 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, b->name)) {
3792 struct group *g = find_group_by_buddy(b->gc, b->name);
3775 char *prevname = g_strdup(b->name); 3793 char *prevname = g_strdup(b->name);
3776 serv_remove_buddy(b->gc, b->name); 3794 if (g)
3795 serv_remove_buddy(b->gc, b->name, g->name);
3777 if (!strcmp(b->name, b->show)) 3796 if (!strcmp(b->name, b->show))
3778 g_snprintf(b->show, sizeof(b->show), "%s", new_name); 3797 g_snprintf(b->show, sizeof(b->show), "%s", new_name);
3779 g_snprintf(b->name, sizeof(b->name), "%s", new_name); 3798 g_snprintf(b->name, sizeof(b->name), "%s", new_name);
3780 serv_add_buddy(b->gc, b->name); 3799 serv_add_buddy(b->gc, b->name);
3781 handle_buddy_rename(b, prevname); 3800 handle_buddy_rename(b, prevname);