aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mail/e-mail-config-hook.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2009-09-01 00:53:52 +0800
committerMatthew Barnes <mbarnes@redhat.com>2009-09-01 00:53:52 +0800
commitf5991437c3e620708f1701310bd1e67b40ca3b42 (patch)
treeb8fbe876e5c5eb0dd0e96d6505aabe898b09c6fb /modules/mail/e-mail-config-hook.c
parentcd0112576878cb5de3930835ff09f1562e9f5c10 (diff)
downloadgsoc2013-evolution-f5991437c3e620708f1701310bd1e67b40ca3b42.tar.gz
gsoc2013-evolution-f5991437c3e620708f1701310bd1e67b40ca3b42.tar.zst
gsoc2013-evolution-f5991437c3e620708f1701310bd1e67b40ca3b42.zip
Get EConfig and EEvent hooks working again.
There were a number of problems: - Walk the GType tree to find EPluginHook subclasses, instead of just registering the immediate children. - Some EConfig and EEvent subclasses were not being configured properly (particularly the mail and calendar subclasses). - Add preference window pages after the main loop starts to make sure all plugins and plugin hooks are installed first.
Diffstat (limited to 'modules/mail/e-mail-config-hook.c')
-rw-r--r--modules/mail/e-mail-config-hook.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/modules/mail/e-mail-config-hook.c b/modules/mail/e-mail-config-hook.c
index 4b37a6b171..def986f1c2 100644
--- a/modules/mail/e-mail-config-hook.c
+++ b/modules/mail/e-mail-config-hook.c
@@ -36,11 +36,15 @@ static const EConfigHookTargetMap targets[] = {
};
static void
-mail_config_hook_class_init (EPluginHookClass *class)
+mail_config_hook_class_init (EConfigHookClass *class)
{
+ EPluginHookClass *plugin_hook_class;
gint ii;
- class->id = "org.gnome.evolution.mail.config:1.0";
+ plugin_hook_class = E_PLUGIN_HOOK_CLASS (class);
+ plugin_hook_class->id = "org.gnome.evolution.mail.config:1.0";
+
+ class->config_class = g_type_class_ref (em_config_get_type ());
for (ii = 0; targets[ii].type != NULL; ii++)
e_config_hook_class_add_target_map (