[Galago-commits] r2567 - in branches/libgalago/protocol-cleanup: . libgalago

galago-commits at freedesktop.org galago-commits at freedesktop.org
Tue Feb 7 02:03:36 PST 2006


Author: chipx86
Date: 2006-02-07 02:03:31 -0800 (Tue, 07 Feb 2006)
New Revision: 2567

Modified:
   branches/libgalago/protocol-cleanup/ChangeLog
   branches/libgalago/protocol-cleanup/libgalago/galago-account.c
   branches/libgalago/protocol-cleanup/libgalago/galago-presence.c
   branches/libgalago/protocol-cleanup/libgalago/galago-private.h
Log:
Fix the pushing of a GalagoAccount's presence. This seems to be the last fix for the re-registration problems.


Modified: branches/libgalago/protocol-cleanup/ChangeLog
===================================================================
--- branches/libgalago/protocol-cleanup/ChangeLog	2006-02-07 09:58:05 UTC (rev 2566)
+++ branches/libgalago/protocol-cleanup/ChangeLog	2006-02-07 10:03:31 UTC (rev 2567)
@@ -1,3 +1,11 @@
+Tue Feb 07 02:02:46 PST 2006  Christian Hammond <chipx86 at chipx86.com>
+
+	* libgalago/galago-account.c:
+	* libgalago/galago-presence.c:
+	* libgalago/galago-private.h:
+	  - Fix the pushing of a GalagoAccount's presence. This seems to
+	    be the last fix for the re-registration problems.
+
 Tue Feb 07 01:57:41 PST 2006  Christian Hammond <chipx86 at chipx86.com>
 
 	* libgalago/galago-core.c:

Modified: branches/libgalago/protocol-cleanup/libgalago/galago-account.c
===================================================================
--- branches/libgalago/protocol-cleanup/libgalago/galago-account.c	2006-02-07 09:58:05 UTC (rev 2566)
+++ branches/libgalago/protocol-cleanup/libgalago/galago-account.c	2006-02-07 10:03:31 UTC (rev 2567)
@@ -352,13 +352,18 @@
 galago_account_dbus_push_full(GalagoObject *object)
 {
 	GalagoAccount *account = GALAGO_ACCOUNT(object);
+	GalagoPresence *presence = galago_account_get_presence(account, FALSE);
 	GList *l;
 
-	galago_dbus_object_push_full(
-		GALAGO_OBJECT(galago_account_get_presence(account, FALSE)));
-	galago_dbus_object_push_full(
-		GALAGO_OBJECT(galago_account_get_avatar(account, FALSE)));
+	if (presence != NULL)
+	{
+		_galago_dbus_account_create_presence(account, presence);
+		galago_dbus_object_push_full(GALAGO_OBJECT(presence));
+	}
 
+	_galago_dbus_account_set_avatar(account,
+		galago_account_get_avatar(account, FALSE));
+
 	for (l = galago_account_get_contacts(account, FALSE);
 		 l != NULL;
 		 l = l->next)

Modified: branches/libgalago/protocol-cleanup/libgalago/galago-presence.c
===================================================================
--- branches/libgalago/protocol-cleanup/libgalago/galago-presence.c	2006-02-07 09:58:05 UTC (rev 2566)
+++ branches/libgalago/protocol-cleanup/libgalago/galago-presence.c	2006-02-07 10:03:31 UTC (rev 2567)
@@ -54,8 +54,6 @@
 	LAST_SIGNAL
 };
 
-static void _galago_dbus_account_create_presence(GalagoAccount *account,
-												 GalagoPresence *presence);
 static void _galago_dbus_account_destroy_presence(GalagoAccount *account,
 												  GalagoPresence *presence);
 static void _galago_presence_remove_status(GalagoPresence *presence,
@@ -782,7 +780,7 @@
 	}
 }
 
-static void
+void
 _galago_dbus_account_create_presence(GalagoAccount *account,
 									 GalagoPresence *presence)
 {

Modified: branches/libgalago/protocol-cleanup/libgalago/galago-private.h
===================================================================
--- branches/libgalago/protocol-cleanup/libgalago/galago-private.h	2006-02-07 09:58:05 UTC (rev 2566)
+++ branches/libgalago/protocol-cleanup/libgalago/galago-private.h	2006-02-07 10:03:31 UTC (rev 2567)
@@ -59,6 +59,8 @@
 void _galago_account_presence_created(GalagoAccount *account,
 									  GalagoPresence *presence);
 void _galago_account_presence_deleted(GalagoAccount *account);
+void _galago_dbus_account_create_presence(GalagoAccount *account,
+										  GalagoPresence *presence);
 
 /**
  * Sets the account's presence.



More information about the galago-commits mailing list