~ubuntu-branches/ubuntu/quantal/gnome-menus2/quantal

« back to all changes in this revision

Viewing changes to debian/patches/23_add_inherited_gnome_session.patch

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2011-08-26 11:43:02 UTC
  • Revision ID: james.westby@ubuntu.com-20110826114302-vgdcyicgxh3xzyzn
Tags: 3.0.1-0ubuntu6
Restore old gnome-menus, the lib still has some rdepends

Show diffs side-by-side

added added

removed removed

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