[PATCH] ok to commit ?

Xavier Claessens <[email protected]> Fri, 24 Nov 2006 23:16:33 +0100
Newsgroups gmane.comp.gnome.gossip.devel
Message-ID <1164406593.4773.9.camel@zdra-desktop>
Hello,

Here is a little patch to setup account's protocol earlier. Actually the
protocol is setup only at connection or register. The problem is the
protocol is used earlier ! When I create a new account, the protocol is
used to config the account's parameters, for example it uses
gossip_protocol_get_default_server().

I HEAD there is no apparent problem, but in TELEPATHY
gossip_protocol_get_default_server uses the protocol's account which
isn't initialised yet...

The patch also checks if the account's id is NULL before filling the
account's setting widget.

Is it OK to commit this patch on HEAD ?

Xavier Claessens.

_______________________________________________
Gossip-dev mailing list
[email protected]
http://lists.imendio.com/mailman/listinfo/gossip-dev
gossip-proto-setup.patch (text/x-patch, 2.5 KB)
Index: libgossip/gossip-session.c
===================================================================
RCS file: /cvs/gnome/gossip/libgossip/gossip-session.c,v
retrieving revision 1.76
diff -u -p -r1.76 gossip-session.c
--- libgossip/gossip-session.c	17 Nov 2006 16:59:58 -0000	1.76
+++ libgossip/gossip-session.c	24 Nov 2006 22:09:53 -0000
@@ -842,6 +842,7 @@ gossip_session_new_account (GossipSessio
 	g_return_val_if_fail (GOSSIP_IS_PROTOCOL (protocol), NULL);
 
 	account = gossip_protocol_new_account (protocol);
+	gossip_protocol_setup (protocol, account);
 	priv->protocols = g_list_append (priv->protocols,
 					 g_object_ref (protocol));
 
@@ -879,6 +880,7 @@ gossip_session_add_account (GossipSessio
 	protocol = gossip_protocol_new_from_account_type (type);
 	g_return_val_if_fail (GOSSIP_IS_PROTOCOL (protocol), FALSE);
 
+	gossip_protocol_setup (protocol, account);
 	priv->protocols = g_list_append (priv->protocols,
 					 g_object_ref (protocol));
 
@@ -1026,9 +1028,6 @@ session_connect (GossipSession *session,
 	g_signal_emit (session, signals[PROTOCOL_CONNECTING], 0, account, protocol);
 	priv->connecting_counter++;
 
-	/* Can we not just pass the GossipAccount on the GObject init? */
-	gossip_protocol_setup (protocol, account);
-
 	/* Setup the network connection */
 	gossip_protocol_login (protocol);
 }
@@ -1666,8 +1665,6 @@ gossip_session_register_account (GossipS
 	gossip_session_add_account (session, account);
 
 	protocol = g_hash_table_lookup (priv->accounts, account);
-	gossip_protocol_setup (protocol, account);
-
 	gossip_protocol_register_account (protocol, account, vcard,
 					  callback, user_data);
 }
Index: src/gossip-account-widget-jabber.c
===================================================================
RCS file: /cvs/gnome/gossip/src/gossip-account-widget-jabber.c,v
retrieving revision 1.3
diff -u -p -r1.3 gossip-account-widget-jabber.c
--- src/gossip-account-widget-jabber.c	20 Nov 2006 22:25:33 -0000	1.3
+++ src/gossip-account-widget-jabber.c	24 Nov 2006 22:09:54 -0000
@@ -357,7 +357,7 @@ account_widget_jabber_setup (GossipAccou
 		gtk_widget_set_sensitive (settings->checkbutton_ssl, FALSE);
 	}
 
-	gtk_entry_set_text (GTK_ENTRY (settings->entry_id), id);
+	gtk_entry_set_text (GTK_ENTRY (settings->entry_id), id ? id : "");
 	gtk_entry_set_text (GTK_ENTRY (settings->entry_password), password ? password : "");
 	gtk_entry_set_text (GTK_ENTRY (settings->entry_resource), resource ? resource : "");
 	gtk_entry_set_text (GTK_ENTRY (settings->entry_server), server ? server : "");
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQBFZ29B6dEBUn2qPAMRAj3AAJ9g51q6CKqmiPmmPgVOr/45EEzt+gCfd0BK
X/YzaIrafECxFJuTleksq+A=
=aVLA
-----END PGP SIGNATURE-----