libpurple/protocols/jabber/jabber.c

changeset 21453
a90cf329cd48
parent 21233
e75de8db4f2b
parent 21129
91280f050201
child 21492
5f6d249bb601
child 21503
b3cad646ba4a
--- a/libpurple/protocols/jabber/jabber.c	Sat Nov 10 01:18:15 2007 +0000
+++ b/libpurple/protocols/jabber/jabber.c	Sat Nov 10 04:52:20 2007 +0000
@@ -1640,6 +1640,8 @@
 	if(type && !strcmp(type, "result")) {
 		purple_notify_info(js->gc, _("Password Changed"), _("Password Changed"),
 				_("Your password has been changed."));
+
+		purple_account_set_password(js->gc->account, (char *)data);
 	} else {
 		char *msg = jabber_parse_error(js, packet);
 
@@ -1647,6 +1649,8 @@
 				_("Error changing password"), msg);
 		g_free(msg);
 	}
+
+	g_free(data);
 }
 
 static void jabber_password_change_cb(JabberStream *js,
@@ -1675,11 +1679,9 @@
 	y = xmlnode_new_child(query, "password");
 	xmlnode_insert_data(y, p1, -1);
 
-	jabber_iq_set_callback(iq, jabber_password_change_result_cb, NULL);
+	jabber_iq_set_callback(iq, jabber_password_change_result_cb, g_strdup(p1));
 
 	jabber_iq_send(iq);
-
-	purple_account_set_password(js->gc->account, p1);
 }
 
 static void jabber_password_change(PurplePluginAction *action)

mercurial