The attached patch is mainly to cause the D-Bus session bus is launched
by GNOME session rather than from the dtlogin-integration code.   Refer
here for more information:

    http://bugzilla.gnome.org/show_bug.cgi?id=360475#c7 and
    http://bugzilla.gnome.org/show_bug.cgi?id=336237 .

This is needed to fix the following problem:

    When gnome-session starts, it checks whether accessibility
    support is enabled (by gconf key) and set GTK_MODULES
    environment variable. gtk_init() will look at GTK_MODULES and
    load the accessibility libraries if it is enabled. Because D-Bus
    is started before gnome-session in Solaris, it doesn't know the
    environment variable. So if application A want to launch application
    B through D-Bus, the GTK_MODULES cannot be passed to B, B will be
    started without accessibility support.

So, this patch does a few things:

1. I created a new version of dtlogin-integration.  The only change
    is the lines in /usr/dt/config/Xsession.jds that call dbus-launch
    have been removed.

2. Because we install dbus-launch to /usr/lib instead of /usr/bin,
    I had to patch gnome-session to find dbus-daemon in the right
    directory.  I wrote this patch cleanly, so it should go upstream.

3. To get this to work, I had to apply the patch for bug #395488
    to gnome-session.  This is gnome-session-09-fixdbus.diff.

4. I found that the glib-04-sed-i.diff had a minor issue that caused
    SUNWgnome-base-libs to fail in the install phase.  I fixed this.

Brian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gnome-session-dbus.diff
Type: text/x-patch
Size: 10167 bytes
Desc: not available
URL: 
<http://mail.opensolaris.org/pipermail/jds-review/attachments/20080109/d04e83db/attachment.bin>

Reply via email to