aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-11-19 09:34:21 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-11-19 09:34:21 +0800
commiteccb379e0ca17bb136a05eaafccaa8186420028e (patch)
tree62ffc46ea0bd48c5f2eb52f0c419bc2df841453c
parent1faa77c293056736da30f9df7d0c2966416f4bf8 (diff)
downloadgsoc2013-evolution-eccb379e0ca17bb136a05eaafccaa8186420028e.tar
gsoc2013-evolution-eccb379e0ca17bb136a05eaafccaa8186420028e.tar.gz
gsoc2013-evolution-eccb379e0ca17bb136a05eaafccaa8186420028e.tar.bz2
gsoc2013-evolution-eccb379e0ca17bb136a05eaafccaa8186420028e.tar.lz
gsoc2013-evolution-eccb379e0ca17bb136a05eaafccaa8186420028e.tar.xz
gsoc2013-evolution-eccb379e0ca17bb136a05eaafccaa8186420028e.tar.zst
gsoc2013-evolution-eccb379e0ca17bb136a05eaafccaa8186420028e.zip
if the plugin fails to load just disable it, don't unref it (it may be
2004-11-19 Not Zed <NotZed@Ximian.com> * e-plugin.c (ep_load): if the plugin fails to load just disable it, don't unref it (it may be referenced elsewhere). svn path=/trunk/; revision=27944
-rw-r--r--e-util/ChangeLog5
-rw-r--r--e-util/e-plugin.c12
2 files changed, 10 insertions, 7 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog
index 4464929ffd..b8e65ac2fa 100644
--- a/e-util/ChangeLog
+++ b/e-util/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-19 Not Zed <NotZed@Ximian.com>
+
+ * e-plugin.c (ep_load): if the plugin fails to load just disable
+ it, don't unref it (it may be referenced elsewhere).
+
2004-11-18 Not Zed <NotZed@Ximian.com>
* e-plugin.c (epl_loadmodule): split out module loadng code.
diff --git a/e-util/e-plugin.c b/e-util/e-plugin.c
index d163a8a5ec..6167b1238f 100644
--- a/e-util/e-plugin.c
+++ b/e-util/e-plugin.c
@@ -333,13 +333,11 @@ ep_load(const char *filename)
ep->id = id;
ep->path = g_strdup(filename);
ep->enabled = ep_check_enabled(id);
- if (e_plugin_construct(ep, root) == -1) {
- g_object_unref(ep);
- } else {
- g_hash_table_insert(ep_plugins, ep->id, ep);
- pdoc->plugins = g_slist_prepend(pdoc->plugins, ep);
- cache |= (ep->hooks_pending != NULL);
- }
+ if (e_plugin_construct(ep, root) == -1)
+ e_plugin_enable(ep, FALSE);
+ g_hash_table_insert(ep_plugins, ep->id, ep);
+ pdoc->plugins = g_slist_prepend(pdoc->plugins, ep);
+ cache |= (ep->hooks_pending != NULL);
}
}