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

Reply via email to