[bijiben] Manager: unref provider which abort



commit bf119d03786a912065e5b372e3688f4226866341
Author: Pierre-Yves Luyten <py luyten fr>
Date:   Wed May 14 23:46:32 2014 +0200

    Manager: unref provider which abort

 src/libbiji/biji-manager.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/src/libbiji/biji-manager.c b/src/libbiji/biji-manager.c
index e9d76d1..5d46ae0 100644
--- a/src/libbiji/biji-manager.c
+++ b/src/libbiji/biji-manager.c
@@ -506,6 +506,20 @@ on_provider_loaded_cb (BijiProvider *provider,
 }
 
 
+static void
+on_provider_abort_cb (BijiProvider *provider,
+                      BijiManager  *self)
+{
+  const BijiProviderInfo *info;
+
+  info = biji_provider_get_info (provider);
+  g_hash_table_remove (self->priv->providers, (gpointer) info->unique_id);
+
+  g_object_unref (G_OBJECT (provider));
+}
+
+
+
 /* 
  * It should be the right place
  * to stock somehow providers list
@@ -525,9 +539,13 @@ _add_provider (BijiManager *self,
   const BijiProviderInfo *info;
 
   info = biji_provider_get_info (provider);
+  g_hash_table_insert (self->priv->providers, (gpointer) info->unique_id, provider);  info = 
biji_provider_get_info (provider);
   g_hash_table_insert (self->priv->providers, (gpointer) info->unique_id, provider);
+
   g_signal_connect (provider, "loaded",
                     G_CALLBACK (on_provider_loaded_cb), self);
+  g_signal_connect (provider, "abort",
+                    G_CALLBACK (on_provider_abort_cb), self);
 }
 
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]