Hi Shahms, On Tue, 2002-07-30 at 16:19, Shahms E. King wrote: > I'd be happy to look into it if you could give me a "jumping off point" > so to speak.
Ok; there are 2 things you need to do: a) Ensure that the DISPLAY context parameter passed on each oaf request is correct, to do this you need to back-port this: /* FIXME: nasty contractual bonobo-activation issues here */ context = bonobo_activation_context_get (); CORBA_exception_init (&ev); CORBA_Context_set_one_value ( context, "display", DisplayString (gdk_display), &ev); CORBA_exception_free (&ev); To oaf; [ make this a function in some evolution library shared across components ]. Then you need to make sure that whenever a component is registered with oaf; that you do something like: /* Create the factory. */ registration_id = eel_bonobo_make_registration_id (factory_iid); factory = bonobo_generic_factory_new (registration_id, make_object, &callback_data); g_free (registration_id); Which makes it a per display IID: where the eel_..._ is defined as: char * eel_bonobo_make_registration_id (const char *iid) { return bonobo_activation_make_registration_id ( iid, DisplayString (gdk_display)); } [ you need to include gdkx.h to make that work ]. Then to test it you just need to run evolution, run xnest: Xnest -ac :2.0 & export DISPLAY=:2.0 and run evolution again - when it works you won :-) It'd be great to get this tested and working in evolution, since we'll be stuck with a Gtk 1.2 / Gnome 1.4 version for the next few months. Regards, Michael. -- [EMAIL PROTECTED] <><, Pseudo Engineer, itinerant idiot _______________________________________________ evolution-hackers maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/evolution-hackers