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

Reply via email to