aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog4
-rw-r--r--camel/camel-session.c9
2 files changed, 4 insertions, 9 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 00d1515fc4..c2961e5853 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,7 @@
+2000-06-02 Christopher James Lahey <clahey@helixcode.com>
+
+ * camel-session.c: Don't ref the services in the cache.
+
2000-06-02 Jeffrey Stedfast <fejj@helixcode.com>
* providers/smtp/camel-smtp-transport.c: Rearanged where debug
diff --git a/camel/camel-session.c b/camel/camel-session.c
index bc8393b7ef..48424d5a2e 100644
--- a/camel/camel-session.c
+++ b/camel/camel-session.c
@@ -48,17 +48,10 @@ camel_session_init (CamelSession *session)
}
static void
-hash_unref_service(void *key, void *value, void *data)
-{
- gtk_object_unref((GtkObject *)value);
-}
-
-static void
camel_session_finalise(GtkObject *o)
{
CamelSession *session = (CamelSession *)o;
- g_hash_table_foreach(session->service_cache, hash_unref_service, 0);
g_hash_table_destroy(session->service_cache);
g_hash_table_destroy(session->providers);
@@ -192,7 +185,6 @@ camel_session_list_providers (CamelSession *session, gboolean load)
static void
service_cache_remove(CamelService *service, CamelSession *session)
{
- gtk_object_unref(GTK_OBJECT(service));
g_hash_table_remove(session->service_cache, service->url);
}
@@ -249,7 +241,6 @@ camel_session_get_service (CamelSession *session, const char *url_string,
service = camel_service_new (provider->object_types[type], session, url, ex);
if (service) {
g_hash_table_insert(session->service_cache, url, service);
- gtk_object_ref(GTK_OBJECT(service));
gtk_signal_connect((GtkObject *)service, "destroy", service_cache_remove, session);
}
return service;