diff src/away.c @ 1774:9d0c91c705b7

[gaim-migrate @ 1784] Fixed a problem with away messages when you're queing received messages. committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Mon, 30 Apr 2001 07:00:15 +0000
parents 6d1d9e988fd4
children 9ca22174da76
line wrap: on
line diff
--- a/src/away.c	Mon Apr 30 06:02:06 2001 +0000
+++ b/src/away.c	Mon Apr 30 07:00:15 2001 +0000
@@ -51,6 +51,9 @@
 {
 	if (imaway)
 		gtk_widget_destroy(imaway);
+
+	clistqueue = NULL;
+	clistqueuesw = NULL;
 	imaway = NULL;
 }
 
@@ -60,7 +63,6 @@
 	GSList *templist = message_queue;
 
 	gtk_clist_freeze(GTK_CLIST(clistqueue));
-
 	gtk_clist_clear(GTK_CLIST(clistqueue));
 
 	while (templist)
@@ -80,12 +82,23 @@
 
 		templist = g_slist_remove(templist, qm);
 
-		free(qm);
+		g_free(qm);
+	}
+
+	templist = away_time_queue;
+	
+	while (templist)
+	{
+		struct queued_away_response *qar = (struct queued_away_response *)templist->data;
+		
+		templist = g_slist_remove(templist, qar);
+		g_free(qar);
 	}
 
 	gtk_clist_thaw(GTK_CLIST(clistqueue));
 	
 	message_queue = NULL;
+	away_time_queue = NULL;
 }
 
 void toggle_away_queue()