adding dbus_g_proxy_diconnect to objects dispose functions
authorAlexander Akimov <ext-alexander.akimov@nokia.com>
Wed, 1 Sep 2010 05:54:37 +0000 (08:54 +0300)
committerAlexander Akimov <ext-alexander.akimov@nokia.com>
Wed, 1 Sep 2010 05:54:37 +0000 (08:54 +0300)
libsignon-glib/signon-auth-session.c
libsignon-glib/signon-identity.c

index 8bfa1fd..c6c4b3a 100644 (file)
@@ -157,6 +157,16 @@ signon_auth_session_dispose (GObject *object)
     if (priv->proxy)
     {
         com_nokia_SingleSignOn_AuthSession_object_unref (priv->proxy, &err);
+
+        dbus_g_proxy_disconnect_signal (priv->proxy,
+                                        "stateChanged",
+                                        G_CALLBACK (auth_session_state_changed_cb),
+                                        self);
+        dbus_g_proxy_disconnect_signal (priv->proxy,
+                                        "unregistered",
+                                        G_CALLBACK (auth_session_remote_object_destroyed_cb),
+                                        self);
+
         g_object_unref (priv->proxy);
         priv->proxy = NULL;
     }
index cfd1003..62cfc63 100644 (file)
@@ -282,6 +282,14 @@ signon_identity_dispose (GObject *object)
 
     if (priv->proxy)
     {
+        dbus_g_proxy_disconnect_signal (priv->proxy,
+                                        "infoUpdated",
+                                        G_CALLBACK (identity_state_changed_cb),
+                                        identity);
+        dbus_g_proxy_disconnect_signal (priv->proxy,
+                                        "unregistered",
+                                        G_CALLBACK (identity_remote_object_destroyed_cb),
+                                        identity);
         g_object_unref (priv->proxy);
         priv->proxy = NULL;
     }
@@ -690,9 +698,6 @@ void signon_identity_store_credentials_with_info(SignonIdentity *self,
                                                 user_data);
 }
 
-
-
-
 static GHashTable *
 identity_methods_to_valuearray (const GHashTable *methods)
 {