diff libgaim/protocols/novell/novell.c @ 14250:1f963d406bb4

[gaim-migrate @ 16932] More sslconn improvements committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 21 Aug 2006 02:42:14 +0000
parents 60b1bc8dbf37
children 8ed6ef220b2d
line wrap: on
line diff
--- a/libgaim/protocols/novell/novell.c	Mon Aug 21 02:21:51 2006 +0000
+++ b/libgaim/protocols/novell/novell.c	Mon Aug 21 02:42:14 2006 +0000
@@ -1663,8 +1663,14 @@
 novell_ssl_connect_error(GaimSslConnection * gsc,
 						 GaimSslErrorType error, gpointer data)
 {
-	gaim_connection_error((GaimConnection *)data,
-						  _("Unable to make SSL connection to server."));
+	GaimConnection *gc;
+	NMUser *user;
+
+	gc = data;
+	user = gc->proto_data;
+	user->conn->ssl_conn->data = NULL;
+
+	gaim_connection_error(gc, _("Unable to make SSL connection to server."));
 }
 
 static void
@@ -1717,7 +1723,6 @@
 		return;
 
 	conn->ssl_conn = g_new0(NMSSLConn, 1);
-	conn->ssl_conn->data = gsc;
 	conn->ssl_conn->read = (nm_ssl_read_cb) gaim_ssl_read;
 	conn->ssl_conn->write = (nm_ssl_write_cb) gaim_ssl_write;
 
@@ -2182,9 +2187,10 @@
 										1, NOVELL_CONNECT_STEPS);
 
 		user->conn->use_ssl = TRUE;
-		if (gaim_ssl_connect(user->client_data, user->conn->addr,
-							 user->conn->port, novell_ssl_connected_cb,
-							 novell_ssl_connect_error, gc) == NULL) {
+		user->conn->ssl_conn->data = gaim_ssl_connect(user->client_data,
+				user->conn->addr, user->conn->port,
+				novell_ssl_connected_cb, novell_ssl_connect_error, gc);
+		if (user->conn->ssl_conn->data == NULL) {
 			gaim_connection_error(gc, _("Error."
 										" SSL support is not installed."));
 		}