OpenSolaris Print manager cannot be invoked from the launch menu because
its command is not first part of the Exec field in the desktop file.
It has
> Exec=env DESKTOP_LAUNCHED=true /usr/bin/desktop-print-management
The original patch assumed that and stripped off the rest of the command.
The fix is to call
gnome_desktop_item_launch() which has the proper filtering done with the
actual call to
gnome_desktop_tsol_proxy_app_launch () in libgnome-desktop-2.0
diff snippet.
+
+ if (gnome_desktop_tsol_is_multi_label_session ()) {
-+ stripped = panel_lockdown_get_exec_from_ditem (ditem);
-+ cmd = g_strdup_printf ("%d:%s",
-+ gdk_screen_get_number (
-+ menuitem_to_screen (menuitem)),
-+ stripped);
-+ gnome_desktop_tsol_proxy_app_launch (cmd);
-+ g_free (cmd);
-+ g_free (stripped);
++ GError *error=NULL;
++
++ if (ditem)
++ gnome_desktop_item_launch (ditem, NULL,
GNOME_DESKTOP_ITEM_LAUNCH_ONLY_ONE, &error);
++ if (error) {
++ g_warning ("Failed to launch for %s: %s\n",
++ path, error->message);
++ g_error_free (error);
++ }
+ } else {
+ panel_launch_desktop_file (path, menuitem_to_screen
(menuitem), NULL);
+ }
-Ghee