[evolution-patches] libsoup connection crash, patch



Attached is a patch for libsoup that prevents the exchange connector
from crashing if a connection fails (it's unreffed to death in a signal
handler).

--
Hans Petter
? libsoup-connection-ref.patch
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/libsoup/ChangeLog,v
retrieving revision 1.438
diff -u -p -r1.438 ChangeLog
--- ChangeLog	19 Jul 2004 20:07:18 -0000	1.438
+++ ChangeLog	6 Aug 2004 21:38:53 -0000
@@ -1,3 +1,9 @@
+2004-08-06  Hans Petter Jansson  <hpj ximian com>
+
+	* libsoup/soup-connection.c (soup_connection_connect_sync):
+	Hold a ref to the connection so we can safely use it after
+	invoking signal handlers.
+
 2004-07-19  JP Rosevear  <jpr novell com>
 
 	* configure.in: bump version, libtool number
Index: libsoup/soup-connection.c
===================================================================
RCS file: /cvs/gnome/libsoup/libsoup/soup-connection.c,v
retrieving revision 1.25
diff -u -p -r1.25 soup-connection.c
--- libsoup/soup-connection.c	14 Jul 2004 15:21:07 -0000	1.25
+++ libsoup/soup-connection.c	6 Aug 2004 21:38:53 -0000
@@ -530,9 +530,15 @@ soup_connection_connect_sync (SoupConnec
 		}
 	}
 
+	g_object_ref (conn);
+
 	g_signal_emit (conn, signals[CONNECT_RESULT], 0,
 		       proxified_status (conn, status));
-	return proxified_status (conn, status);
+	status = proxified_status (conn, status);
+
+	g_object_unref (conn);
+
+	return status;
 }
 
 


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