From f5991437c3e620708f1701310bd1e67b40ca3b42 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Mon, 31 Aug 2009 12:53:52 -0400 Subject: 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. --- modules/mail/e-mail-event-hook.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'modules/mail/e-mail-event-hook.c') diff --git a/modules/mail/e-mail-event-hook.c b/modules/mail/e-mail-event-hook.c index a6be6d294f..becc80624e 100644 --- a/modules/mail/e-mail-event-hook.c +++ b/modules/mail/e-mail-event-hook.c @@ -60,11 +60,15 @@ static const EEventHookTargetMap targets[] = { }; static void -mail_event_hook_class_init (EPluginHookClass *class) +mail_event_hook_class_init (EEventHookClass *class) { + EPluginHookClass *plugin_hook_class; gint ii; - class->id = "org.gnome.evolution.mail.events:1.0"; + plugin_hook_class = E_PLUGIN_HOOK_CLASS (class); + plugin_hook_class->id = "org.gnome.evolution.mail.events:1.0"; + + class->event = (EEvent *) em_event_peek (); for (ii = 0; targets[ii].type != NULL; ii++) e_event_hook_class_add_target_map ( -- cgit