about summary refs log tree commit diff stats
path: root/src/command/commands.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/command/commands.c')
-rw-r--r--src/command/commands.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/command/commands.c b/src/command/commands.c
index c8c01778..d4e635c1 100644
--- a/src/command/commands.c
+++ b/src/command/commands.c
@@ -2665,10 +2665,15 @@ cmd_roster(ProfWin *window, const char *const command, gchar **args)
         }
 
         const char *barejid = p_contact_barejid(contact);
+
+        // TODO wait for result stanza before updating
+        const char *oldnick = p_contact_name(contact);
+        wins_change_nick(barejid, oldnick, name);
         roster_change_name(contact, name);
         GSList *groups = p_contact_groups(contact);
         roster_send_name_change(barejid, name, groups);
 
+
         cons_show("Nickname for %s set to: %s.", jid, name);
 
         return TRUE;
@@ -2693,6 +2698,10 @@ cmd_roster(ProfWin *window, const char *const command, gchar **args)
         }
 
         const char *barejid = p_contact_barejid(contact);
+
+        // TODO wait for result stanza before updating
+        const char *oldnick = p_contact_name(contact);
+        wins_remove_nick(barejid, oldnick);
         roster_change_name(contact, NULL);
         GSList *groups = p_contact_groups(contact);
         roster_send_name_change(barejid, NULL, groups);