Mercurial > pidgin
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); |
