aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2004-01-31 05:05:49 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2004-01-31 05:05:49 +0800
commitaf2899875563337fe95a6fed42275aeeb74686a4 (patch)
tree584e01e19c3d5a8dbb29d49b7581df179cb63220
parentad7a9ca25a462854ac5aac2adcc628b83ee3ee51 (diff)
downloadgsoc2013-evolution-af2899875563337fe95a6fed42275aeeb74686a4.tar
gsoc2013-evolution-af2899875563337fe95a6fed42275aeeb74686a4.tar.gz
gsoc2013-evolution-af2899875563337fe95a6fed42275aeeb74686a4.tar.bz2
gsoc2013-evolution-af2899875563337fe95a6fed42275aeeb74686a4.tar.lz
gsoc2013-evolution-af2899875563337fe95a6fed42275aeeb74686a4.tar.xz
gsoc2013-evolution-af2899875563337fe95a6fed42275aeeb74686a4.tar.zst
gsoc2013-evolution-af2899875563337fe95a6fed42275aeeb74686a4.zip
Protect against multiple camel_init() calls. Remember if we've already
2004-01-30 Jeffrey Stedfast <fejj@ximian.com> * camel.c (camel_init): Protect against multiple camel_init() calls. Remember if we've already been called. svn path=/trunk/; revision=24547
-rw-r--r--camel/ChangeLog5
-rw-r--r--camel/camel.c12
2 files changed, 17 insertions, 0 deletions
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 <fejj@ximian.com>
+
+ * camel.c (camel_init): Protect against multiple camel_init()
+ calls. Remember if we've already been called.
+
2004-01-30 Not Zed <NotZed@Ximian.com>
* 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;
}