Moved purple_account_constructed() above dispose and finalize soc.2013.gobjectification

Sun, 30 Jun 2013 20:09:55 +0530

author
Ankit Vani <a@nevitus.org>
date
Sun, 30 Jun 2013 20:09:55 +0530
branch
soc.2013.gobjectification
changeset 34686
61cb35479ea9
parent 34685
1690f822fbdd
child 34687
aebc4dd321bf

Moved purple_account_constructed() above dispose and finalize

libpurple/account.c file | annotate | diff | comparison | revisions
--- a/libpurple/account.c	Sun Jun 30 19:59:57 2013 +0530
+++ b/libpurple/account.c	Sun Jun 30 20:09:55 2013 +0530
@@ -2898,6 +2898,50 @@
 	PURPLE_DBUS_REGISTER_POINTER(account, PurpleAccount);
 }
 
+/* Called when done constructing */
+static void
+purple_account_constructed(GObject *object)
+{
+	PurpleAccount *account = PURPLE_ACCOUNT(object);
+	PurpleAccountPrivate *priv = PURPLE_ACCOUNT_GET_PRIVATE(account);
+	gchar *username, *protocol_id;
+	PurplePlugin *prpl = NULL;
+	PurplePluginProtocolInfo *prpl_info = NULL;
+	PurpleStatusType *status_type;
+
+	parent_class->constructed(object);
+
+	g_object_get(object,
+			PROP_USERNAME_S,    &username,
+			PROP_PROTOCOL_ID_S, &protocol_id,
+			NULL);
+
+	purple_signal_emit(purple_accounts_get_handle(), "account-created",
+			account);
+
+	prpl = purple_find_prpl(protocol_id);
+	if (prpl == NULL)
+		return;
+
+	prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
+	if (prpl_info != NULL && prpl_info->status_types != NULL)
+		purple_account_set_status_types(account,
+				prpl_info->status_types(account));
+
+	priv->presence = purple_presence_new_for_account(account);
+
+	status_type = purple_account_get_status_type_with_primitive(account,
+			PURPLE_STATUS_AVAILABLE);
+	if (status_type != NULL)
+		purple_presence_set_status_active(priv->presence,
+										purple_status_type_get_id(status_type),
+										TRUE);
+	else
+		purple_presence_set_status_active(priv->presence,
+										"offline",
+										TRUE);
+}
+
 /* GObject dispose function */
 static void
 purple_account_dispose(GObject *object)
@@ -2970,50 +3014,6 @@
 	parent_class->finalize(object);
 }
 
-/* Called when done constructing */
-static void
-purple_account_constructed(GObject *object)
-{
-	PurpleAccount *account = PURPLE_ACCOUNT(object);
-	PurpleAccountPrivate *priv = PURPLE_ACCOUNT_GET_PRIVATE(account);
-	gchar *username, *protocol_id;
-	PurplePlugin *prpl = NULL;
-	PurplePluginProtocolInfo *prpl_info = NULL;
-	PurpleStatusType *status_type;
-
-	parent_class->constructed(object);
-
-	g_object_get(object,
-			PROP_USERNAME_S,    &username,
-			PROP_PROTOCOL_ID_S, &protocol_id,
-			NULL);
-
-	purple_signal_emit(purple_accounts_get_handle(), "account-created",
-			account);
-
-	prpl = purple_find_prpl(protocol_id);
-	if (prpl == NULL)
-		return;
-
-	prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
-	if (prpl_info != NULL && prpl_info->status_types != NULL)
-		purple_account_set_status_types(account,
-				prpl_info->status_types(account));
-
-	priv->presence = purple_presence_new_for_account(account);
-
-	status_type = purple_account_get_status_type_with_primitive(account,
-			PURPLE_STATUS_AVAILABLE);
-	if (status_type != NULL)
-		purple_presence_set_status_active(priv->presence,
-										purple_status_type_get_id(status_type),
-										TRUE);
-	else
-		purple_presence_set_status_active(priv->presence,
-										"offline",
-										TRUE);
-}
-
 /* Class initializer function */
 static void
 purple_account_class_init(PurpleAccountClass *klass)

mercurial