aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'e-util/e-plugin.c')
-rw-r--r--e-util/e-plugin.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/e-util/e-plugin.c b/e-util/e-plugin.c
index edcdb4d43c..bdfe12c9b1 100644
--- a/e-util/e-plugin.c
+++ b/e-util/e-plugin.c
@@ -929,8 +929,8 @@ epl_construct(EPlugin *ep, xmlNodePtr root)
return 0;
}
-static void
-epl_configure (EPlugin *ep)
+gboolean
+e_plugin_is_configurable (EPlugin *ep)
{
EPluginLibConfigureFunc configure;
@@ -938,9 +938,24 @@ epl_configure (EPlugin *ep)
if (epl_loadmodule(ep) != 0) {
pd(printf ("\n epl_loadmodule \n"));
- return;
+ return FALSE;
+ }
+
+ if (g_module_symbol(epl->module, "e_plugin_lib_configure", (void *)&configure)) {
+ pd(printf ("\n g_module_symbol is loaded\n"));
+ return TRUE;
}
+ return FALSE;
+}
+
+static void
+epl_configure (EPlugin *ep)
+{
+ EPluginLibConfigureFunc configure;
+
+ pd(printf ("\n epl_configure \n"));
+ /* Probably we dont need a load_module */
if (g_module_symbol(epl->module, "e_plugin_lib_configure", (void *)&configure)) {
pd(printf ("\n g_module_symbol is loaded\n"));
configure (epl);