changeset 14921:57dcc53e77a4

[gaim-migrate @ 17693] Make sure we send the "starting to edit your buddylist" snac. I thought this would make it so we wouldn't need to re-request authorization when moving someone between groups, but it doesn't. I don't know what the deal is with that. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 07 Nov 2006 07:04:41 +0000
parents 478e64cf96fe
children bad6e64c6405
files libgaim/protocols/oscar/family_feedbag.c libgaim/protocols/oscar/oscar.h
diffstat 2 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libgaim/protocols/oscar/family_feedbag.c	Tue Nov 07 05:52:41 2006 +0000
+++ b/libgaim/protocols/oscar/family_feedbag.c	Tue Nov 07 07:04:41 2006 +0000
@@ -565,9 +565,18 @@
 	/* We're out of stuff to do, so tell the AIM servers we're done and exit */
 	if (!od->ssi.pending) {
 		aim_ssi_modend(od);
+		od->ssi.in_transaction = FALSE;
 		return 0;
 	}
 
+	/* If this is the first in a series of add/mod/del
+	 * requests then send the "begin transaction" message. */
+	if (!od->ssi.in_transaction)
+	{
+		aim_ssi_modbegin(od);
+		od->ssi.in_transaction = TRUE;
+	}
+
 	/* Make sure we don't send anything else between now
 	 * and when we receive the ack for the following operation */
 	od->ssi.waiting_for_ack = TRUE;
--- a/libgaim/protocols/oscar/oscar.h	Tue Nov 07 05:52:41 2006 +0000
+++ b/libgaim/protocols/oscar/oscar.h	Tue Nov 07 07:04:41 2006 +0000
@@ -490,6 +490,7 @@
 		struct aim_ssi_tmp *pending;
 		time_t timestamp;
 		gboolean waiting_for_ack;
+		gboolean in_transaction;
 	} ssi;
 
 	/* TODO: Implement this as a HashTable for HUGE speed improvement! */