changeset 1666:8b0c165a33f4

[gaim-migrate @ 1676] jabber fixes. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Fri, 30 Mar 2001 20:42:15 +0000
parents fc77d4f1599e
children b5635d882116
files TODO plugins/jabber/jabber.c src/buddy.c src/multi.c
diffstat 4 files changed, 15 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/TODO	Fri Mar 30 18:12:00 2001 +0000
+++ b/TODO	Fri Mar 30 20:42:15 2001 +0000
@@ -33,3 +33,5 @@
 	and the Feature Requests. SourceForge should really allow users
 	to vote on feature requests and bugs.....
 		http://sourceforge.net/tracker/?atid=350235&group_id=235&func=browse
+
+	Oh yeah, then there's the little issue of getting Oscar working again.
--- a/plugins/jabber/jabber.c	Fri Mar 30 18:12:00 2001 +0000
+++ b/plugins/jabber/jabber.c	Fri Mar 30 20:42:15 2001 +0000
@@ -329,8 +329,7 @@
 		debug_printf("input: %s\n", buf);
 		XML_Parse(j->parser, buf, len, 0);
 	} else if (len <= 0) {
-		STATE_EVT(JCONN_STATE_OFF);
-		gjab_stop(j);
+		STATE_EVT(JCONN_STATE_OFF)
 	}
 }
 
@@ -878,7 +877,8 @@
 {
 	struct jabber_data *jd = gc->proto_data;
 	gdk_input_remove(gc->inpa);
-	gjab_stop(jd->jc);
+	gjab_delete(jd->jc);
+	jd->jc = NULL;
 	g_free(jd);
 	gc->proto_data = NULL;
 }
@@ -1207,7 +1207,6 @@
 				if (here == 2) {
 					struct aim_user *u;
 					user = g_strdup(jid_full(j->user));
-					jab_stop(j);
 					regjconn = NULL;
 					gdk_input_remove(reginpa);
 					reginpa = 0;
@@ -1264,7 +1263,6 @@
 				} else {
 					do_error_dialog("Registration failed", "Jabber Registration");
 				}
-				jab_stop(j);
 				regjconn = NULL;
 				gdk_input_remove(reginpa);
 				xmlnode_free(p->x);
--- a/src/buddy.c	Fri Mar 30 18:12:00 2001 +0000
+++ b/src/buddy.c	Fri Mar 30 20:42:15 2001 +0000
@@ -1940,15 +1940,18 @@
 void update_idle_times() {
 	GSList *grp = shows;
 	GSList *mem;
-	struct buddy_show *b;
-	struct group_show *g;
+	struct buddy_show *bs;
+	struct group_show *gs;
+	struct buddy *b;
 
 	while (grp) {
-		g = (struct group_show *)grp->data;
-		mem = g->members;
+		gs = (struct group_show *)grp->data;
+		mem = gs->members;
 		while (mem) {
-			b = (struct buddy_show *)mem->data;
-			update_idle_time(b);
+			bs = (struct buddy_show *)mem->data;
+			b = find_buddy(bs->connlist->data, bs->name);
+			if (b->idle)
+				update_idle_time(bs);
 			mem = mem->next;
 		}
 		grp = grp->next;
--- a/src/multi.c	Fri Mar 30 18:12:00 2001 +0000
+++ b/src/multi.c	Fri Mar 30 20:42:15 2001 +0000
@@ -127,6 +127,7 @@
 		gtk_widget_destroy(acctedit);
 	}
 	acctedit = NULL;
+	list = NULL;
 	if (!d && !blist && !mainwindow && !connections)
 		gtk_main_quit();
 }