From af2899875563337fe95a6fed42275aeeb74686a4 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Fri, 30 Jan 2004 21:05:49 +0000 Subject: Protect against multiple camel_init() calls. Remember if we've already 2004-01-30 Jeffrey Stedfast * camel.c (camel_init): Protect against multiple camel_init() calls. Remember if we've already been called. svn path=/trunk/; revision=24547 --- camel/ChangeLog | 5 +++++ camel/camel.c | 12 ++++++++++++ 2 files changed, 17 insertions(+) (limited to 'camel') diff --git a/camel/ChangeLog b/camel/ChangeLog index 3753da6f32..61f0bb0124 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,8 @@ +2004-01-30 Jeffrey Stedfast + + * camel.c (camel_init): Protect against multiple camel_init() + calls. Remember if we've already been called. + 2004-01-30 Not Zed * camel-store.c (camel_store_rename_folder): copy the old_name diff --git a/camel/camel.c b/camel/camel.c index ae99da74c2..8d60968705 100644 --- a/camel/camel.c +++ b/camel/camel.c @@ -41,11 +41,16 @@ gboolean camel_verbose_debug = FALSE; +static int initialised = FALSE; + static void camel_shutdown (void) { CamelCertDB *certdb; + if (!initialised) + return; + #ifdef HAVE_NSS NSS_Shutdown (); @@ -57,6 +62,8 @@ camel_shutdown (void) camel_certdb_save (certdb); camel_object_unref (certdb); } + + initialised = FALSE; } int @@ -66,6 +73,9 @@ camel_init (const char *configdir, gboolean nss_init) char *path; void camel_operation_init(void); + if (initialised) + return; + if (getenv ("CAMEL_VERBOSE_DEBUG")) camel_verbose_debug = TRUE; @@ -111,5 +121,7 @@ camel_init (const char *configdir, gboolean nss_init) g_atexit (camel_shutdown); + initialised = TRUE; + return 0; } -- cgit v1.2.3