File gnome-desktop2-X-KDE-SubstituteUID.patch of Package gnome-desktop2

Index: libgnome-desktop/gnome-desktop-item.c
================================================================================
--- libgnome-desktop/gnome-desktop-item.c
+++ libgnome-desktop/gnome-desktop-item.c
@@ -2085,8 +2085,16 @@
 
 
 	/* make a new copy and get rid of spaces */
-	the_exec = g_alloca (strlen (exec) + 1);
-	strcpy (the_exec, exec);
+
+	if (gnome_desktop_item_get_boolean (item, GNOME_DESKTOP_ITEM_SUBSTITUTEUID) ||
+	    gnome_desktop_item_get_boolean (item, GNOME_DESKTOP_ITEM_ROOT_ONLY)) {
+		the_exec = g_alloca (strlen (exec) + sizeof ("gnomesu -- "));
+		strcpy (the_exec, "gnomesu -- ");
+		strcat (the_exec, exec);
+	} else {
+		the_exec = g_alloca (strlen (exec) + 1);
+		strcpy (the_exec, exec);
+	}
 
 	if ( ! strip_the_amp (the_exec)) {
 		g_set_error (error,
--- libgnome-desktop/libgnome/gnome-desktop-item.h
+++ libgnome-desktop/libgnome/gnome-desktop-item.h
@@ -96,7 +96,8 @@
 #define GNOME_DESKTOP_ITEM_SORT_ORDER	"SortOrder" /* strings */
 #define GNOME_DESKTOP_ITEM_URL		"URL" /* string */
 #define GNOME_DESKTOP_ITEM_DOC_PATH	"X-GNOME-DocPath" /* string */
-
+#define GNOME_DESKTOP_ITEM_SUBSTITUTEUID "X-KDE-SubstituteUID" /*boolean*/
+#define GNOME_DESKTOP_ITEM_ROOT_ONLY     "X-KDE-RootOnly" /*boolean*/
 /* The vfolder proposal */
 #define GNOME_DESKTOP_ITEM_CATEGORIES	"Categories" /* string */
 #define GNOME_DESKTOP_ITEM_ONLY_SHOW_IN	"OnlyShowIn" /* string */
openSUSE Build Service is sponsored by