~ubuntu-branches/ubuntu/oneiric/gnome-menus/oneiric

« back to all changes in this revision

Viewing changes to debian/patches/23_add_inherited_gnome_session.patch

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2010-09-14 15:13:19 UTC
  • mfrom: (1.1.52 upstream)
  • Revision ID: james.westby@ubuntu.com-20100914151319-q63qfic1ugpw3zxb
Tags: 2.30.3-0ubuntu1
* New upstream release:
 + Menu Editor
  - Respect XDG_MENU_PREFIX when writing user menu file (Vincent)
 + Misc
  - Update information in README and other files (Vincent)
 + Updated translations

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Index: gnome-menus-2.30.0/libmenu/desktop-entries.c
 
2
===================================================================
 
3
--- gnome-menus-2.30.0.orig/libmenu/desktop-entries.c   2010-07-13 15:57:40.499172000 +0200
 
4
+++ gnome-menus-2.30.0/libmenu/desktop-entries.c        2010-07-13 16:45:06.687172002 +0200
 
5
@@ -58,6 +58,8 @@
 
6
   guint refcount : 24;
 
7
 };
 
8
 
 
9
+static char *derivative_session = "toto";
 
10
+
 
11
 struct DesktopEntrySet
 
12
 {
 
13
   int         refcount;
 
14
@@ -78,6 +80,8 @@
 
15
   gboolean   no_display;
 
16
   gboolean   hidden;
 
17
   gboolean   show_in_gnome;
 
18
+  gboolean   show_in_derivative_session;
 
19
+  gboolean   defined_for_derivative_session = FALSE;
 
20
   gboolean   tryexec_failed;
 
21
   gboolean   root_required_flag;
 
22
   char      *tryexec;
 
23
@@ -130,7 +134,6 @@
 
24
           if (!strcmp (strv[i], "GNOME"))
 
25
             {
 
26
               show_in_gnome = TRUE;
 
27
-              break;
 
28
             }
 
29
         }
 
30
     }
 
31
@@ -155,6 +158,48 @@
 
32
     }
 
33
   g_strfreev (strv);
 
34
 
 
35
+  if (derivative_session)
 
36
+    {
 
37
+      strv = g_key_file_get_string_list (key_file,
 
38
+                                         desktop_entry_group,
 
39
+                                         "X-UBUNTU-OnlyShowIn-Derivative",
 
40
+                                         NULL,
 
41
+                                         NULL);
 
42
+      if (strv)
 
43
+        {
 
44
+          for (i = 0; strv[i]; i++)
 
45
+            {
 
46
+              if (!strcmp (strv[i], derivative_session))
 
47
+                {
 
48
+                  show_in_derivative_session = TRUE;
 
49
+                  defined_for_derivative_session = TRUE;
 
50
+                }
 
51
+            }
 
52
+        }
 
53
+      g_strfreev (strv);
 
54
+      strv = g_key_file_get_string_list (key_file,
 
55
+                                         desktop_entry_group,
 
56
+                                         "X-UBUNTU-NotShowIn-Derivative",
 
57
+                                         NULL,
 
58
+                                         NULL);
 
59
+      if (strv)
 
60
+        {
 
61
+          for (i = 0; strv[i]; i++)
 
62
+            {
 
63
+              if (!strcmp (strv[i], derivative_session))
 
64
+                {
 
65
+                  show_in_derivative_session = FALSE;
 
66
+                  defined_for_derivative_session = TRUE;
 
67
+                }
 
68
+            }
 
69
+        }
 
70
+      g_strfreev (strv);
 
71
+      if (defined_for_derivative_session)
 
72
+        {
 
73
+          show_in_gnome = show_in_derivative_session;
 
74
+        }
 
75
+    }
 
76
+
 
77
   tryexec_failed = FALSE;
 
78
   tryexec = g_key_file_get_string (key_file,
 
79
                                    desktop_entry_group,
 
80
Index: gnome-menus-2.30.0/libmenu/gmenu-tree.h
 
81
===================================================================
 
82
--- gnome-menus-2.30.0.orig/libmenu/gmenu-tree.h        2010-07-13 15:55:48.291172001 +0200
 
83
+++ gnome-menus-2.30.0/libmenu/gmenu-tree.h     2010-07-13 15:55:58.695172000 +0200
 
84
@@ -147,6 +147,7 @@
 
85
 void gmenu_tree_remove_monitor (GMenuTree            *tree,
 
86
                                GMenuTreeChangedFunc  callback,
 
87
                                gpointer             user_data);
 
88
+void gmenu_tree_set_desktop_session_name (char *);
 
89
 
 
90
 G_END_DECLS
 
91