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>