aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/prefer-plain/ChangeLog6
-rw-r--r--plugins/prefer-plain/prefer-plain.c7
2 files changed, 11 insertions, 2 deletions
diff --git a/plugins/prefer-plain/ChangeLog b/plugins/prefer-plain/ChangeLog
index 3c16d88af2..b8afd4f25c 100644
--- a/plugins/prefer-plain/ChangeLog
+++ b/plugins/prefer-plain/ChangeLog
@@ -1,3 +1,9 @@
+2007-08-27 Srinivasa Ragavan <sragavan@novell.com>
+
+ ** Fix for bug #431459
+
+ * prefer-plain.c: (e_plugin_lib_enable): Avoid reentrancy.
+
2007-08-16 Milan Crha <mcrha@redhat.com>
** Part of fix for bug #350539
diff --git a/plugins/prefer-plain/prefer-plain.c b/plugins/prefer-plain/prefer-plain.c
index 7d967db839..fb580d279c 100644
--- a/plugins/prefer-plain/prefer-plain.c
+++ b/plugins/prefer-plain/prefer-plain.c
@@ -35,8 +35,8 @@ enum {
EPP_TEXT
};
-static GConfClient *epp_gconf;
-static int epp_mode;
+static GConfClient *epp_gconf = NULL;
+static int epp_mode = -1;
void
org_gnome_prefer_plain_text_html(void *ep, EMFormatHookTarget *t)
@@ -167,6 +167,9 @@ e_plugin_lib_enable(EPluginLib *ep, int enable)
char *key;
int i;
+ if (epp_gconf || epp_mode != -1)
+ return;
+
if (enable) {
epp_gconf = gconf_client_get_default();
key = gconf_client_get_string(epp_gconf, "/apps/evolution/eplugin/prefer_plain/mode", NULL);