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

Reply via email to