empathy r2147 - trunk/libempathy



Author: xclaesse
Date: Fri Jan  9 16:13:11 2009
New Revision: 2147
URL: http://svn.gnome.org/viewvc/empathy?rev=2147&view=rev

Log:
Disconnect signal handlers from the head of the queue before destroying the queue

Signed-off-by: Sjoerd Simons <sjoerd simons collabora co uk>

Modified:
   trunk/libempathy/empathy-tp-chat.c

Modified: trunk/libempathy/empathy-tp-chat.c
==============================================================================
--- trunk/libempathy/empathy-tp-chat.c	(original)
+++ trunk/libempathy/empathy-tp-chat.c	Fri Jan  9 16:13:11 2009
@@ -914,6 +914,16 @@
   g_object_unref (priv->account);
   priv->account = NULL;
 
+  if (g_queue_get_length (priv->messages_queue) > 0) {
+    EmpathyMessage *message;
+    EmpathyContact *contact;
+
+    message = g_queue_peek_head (priv->messages_queue);
+    contact = empathy_message_get_sender (message);
+    g_signal_handlers_disconnect_by_func (contact,
+      tp_chat_sender_ready_notify_cb, object);
+  }
+
   g_list_foreach (priv->messages_queue->head, (GFunc) g_object_unref, NULL);
   g_queue_free (priv->messages_queue);
 
@@ -964,17 +974,6 @@
 	g_object_unref (priv->account);
 	g_free (priv->id);
 
-	if (g_queue_get_length (priv->messages_queue) > 0) {
-		EmpathyMessage *message;
-		EmpathyContact *contact;
-
-		message = g_queue_peek_head (priv->messages_queue);
-		contact = empathy_message_get_sender (message);
-		g_signal_handlers_disconnect_by_func (contact,
-						      tp_chat_sender_ready_notify_cb,
-						      object);
-	}
-
 
 	G_OBJECT_CLASS (empathy_tp_chat_parent_class)->finalize (object);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]