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/calendar/e-cal-config-hook.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'modules/calendar/e-cal-config-hook.c') diff --git a/modules/calendar/e-cal-config-hook.c b/modules/calendar/e-cal-config-hook.c index 4a0522460c..e3d9678168 100644 --- a/modules/calendar/e-cal-config-hook.c +++ b/modules/calendar/e-cal-config-hook.c @@ -35,11 +35,15 @@ static const EConfigHookTargetMap targets[] = { }; static void -cal_config_hook_class_init (EPluginHookClass *class) +cal_config_hook_class_init (EConfigHookClass *class) { + EPluginHookClass *plugin_hook_class; gint ii; - class->id = "org.gnome.evolution.calendar.config:1.0"; + plugin_hook_class = E_PLUGIN_HOOK_CLASS (class); + plugin_hook_class->id = "org.gnome.evolution.calendar.config:1.0"; + + class->config_class = g_type_class_ref (e_cal_config_get_type ()); for (ii = 0; targets[ii].type != NULL; ii++) e_config_hook_class_add_target_map ( -- cgit