2006-03-20 Mikael Hallendal <micke@imendio.com>
authorhallski <hallski>
Mon, 20 Mar 2006 10:53:45 +0000
changeset 130 b88a70fb8525
parent 129 c508a7de3eec
child 131 f67d47083e3a
2006-03-20 Mikael Hallendal <micke@imendio.com> * loudmouth/lm-connection.c: Fixes LM-16. (_lm_connection_failed_with_error): - Call connection_do_close to remove sources. (connection_do_close): Always set the connection state to CLOSED.
ChangeLog
loudmouth/lm-connection.c
--- a/ChangeLog	Mon Jan 02 14:22:04 2006 +0000
+++ b/ChangeLog	Mon Mar 20 10:53:45 2006 +0000
@@ -1,3 +1,10 @@
+2006-03-20  Mikael Hallendal  <micke@imendio.com>
+
+	* loudmouth/lm-connection.c: Fixes LM-16.
+	(_lm_connection_failed_with_error): 
+	- Call connection_do_close to remove sources.
+	(connection_do_close): Always set the connection state to CLOSED.
+
 2006-01-02  Mikael Hallendal  <micke@imendio.com>
 
 	* MAINTAINERS: Added
--- a/loudmouth/lm-connection.c	Mon Jan 02 14:22:04 2006 +0000
+++ b/loudmouth/lm-connection.c	Mon Mar 20 10:53:45 2006 +0000
@@ -424,7 +424,7 @@
 	}
 	
 	if (connect_data->current_addr == NULL) {
-		connection->state = LM_CONNECTION_STATE_CLOSED;
+		connection_do_close (connection);
 		if (connection->open_cb && connection->open_cb->func) {
 			LmCallback *cb = connection->open_cb;
 			
@@ -715,17 +715,17 @@
 
 		connection->fd = -1;
 	}
-
 	
 	g_source_destroy (connection->incoming_source);
 	g_source_unref (connection->incoming_source);
 
 	if (!lm_connection_is_open (connection)) {
+		/* lm_connection_is_open is FALSE for state OPENING as well */
+		connection->state = LM_CONNECTION_STATE_CLOSED;
 		return;
 	}
 	
 	connection->state = LM_CONNECTION_STATE_CLOSED;
-
 	if (connection->ssl) {
 		_lm_ssl_close (connection->ssl);
 	}