Folks, as discussed before on IRC, Ekiga's current initialization procedure is either in the wrong logic, wrong order or too inflexible to introduce the new plugin system:
main() +---- PProcess::PreInitialise () +---- g_thread_init () +---- gdk_threads_init () +---- gm_conf_init () +---- [Gettext init] +---- gnome_program_init () +---- [IF BONOBO] bonobo_component_init () +---- PTrace::Initialise () +---- GnomeMeeting::Process ()->BuildGUI () +---- gnomemeeting_addressbook_init () +---- gnomemeeting_stock_icons_init () +---- [Create the windows] +---- [IF DBUS] gnomemeeting_dbus_component_new (); +---- gm_statusicon_new () +---- GnomeMeeting::Process ()->DetectInterfaces () +---- GnomeMeeting::Process ()->Init () +---- GnomeMeeting::Process ()->DetectCodecs () +---- gnomemeeting_conf_init () +---- [UI init] +---- gtk_main () Where to hook plugin initialization? IMHO it needs - a working gmconf - MAYBE a pre-initialized but not built UI to make all other components available as plugins/with plugin addons. In the current (above) order my first hook would be right after the PTrace initializer. Regards, Jan -- "One of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs" --Robert Firth _______________________________________________ Ekiga-devel-list mailing list Ekiga-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/ekiga-devel-list