r35416 - in /desktop/unstable/gnome-shell/debian: changelog control control.in patches/01_slist_cleanup.patch patches/02_filter_nodisplay_parents.patch patches/03_fix_nodisplay.patch patches/27-don-t-show-apps-in-NoDisplay-categories.patch patches/series

joss at users.alioth.debian.org joss at users.alioth.debian.org
Sat Jun 23 18:49:39 UTC 2012


Author: joss
Date: Sat Jun 23 18:49:39 2012
New Revision: 35416

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=35416
Log:
* 27-don-t-show-apps-in-NoDisplay-categories.patch: drop this patch as 
  it is not completely functional.
* 01_slist_cleanup.patch, 02_filter_nodisplay_parents.patch, 
  03_fix_nodisplay.patch: correctly filter out applications in a 
  NoDisplay directory, including parent directories. This should 
  finally fix for good handling of the Debian menu.
* Bump the build-dependency on gnome-menus accordingly.

Added:
    desktop/unstable/gnome-shell/debian/patches/01_slist_cleanup.patch
    desktop/unstable/gnome-shell/debian/patches/02_filter_nodisplay_parents.patch
    desktop/unstable/gnome-shell/debian/patches/03_fix_nodisplay.patch
Removed:
    desktop/unstable/gnome-shell/debian/patches/27-don-t-show-apps-in-NoDisplay-categories.patch
Modified:
    desktop/unstable/gnome-shell/debian/changelog
    desktop/unstable/gnome-shell/debian/control
    desktop/unstable/gnome-shell/debian/control.in
    desktop/unstable/gnome-shell/debian/patches/series

Modified: desktop/unstable/gnome-shell/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/changelog?rev=35416&op=diff
==============================================================================
--- desktop/unstable/gnome-shell/debian/changelog [utf-8] (original)
+++ desktop/unstable/gnome-shell/debian/changelog [utf-8] Sat Jun 23 18:49:39 2012
@@ -1,3 +1,15 @@
+gnome-shell (3.4.1-8) unstable; urgency=low
+
+  * 27-don-t-show-apps-in-NoDisplay-categories.patch: drop this patch as 
+    it is not completely functional.
+  * 01_slist_cleanup.patch, 02_filter_nodisplay_parents.patch, 
+    03_fix_nodisplay.patch: correctly filter out applications in a 
+    NoDisplay directory, including parent directories. This should 
+    finally fix for good handling of the Debian menu.
+  * Bump the build-dependency on gnome-menus accordingly.
+
+ -- Josselin Mouette <joss at debian.org>  Sat, 23 Jun 2012 20:49:32 +0200
+
 gnome-shell (3.4.1-7) unstable; urgency=low
 
   * debian/patches/21_revert_evolution_gsettings.patch: Drop this patch now

Modified: desktop/unstable/gnome-shell/debian/control
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/control?rev=35416&op=diff
==============================================================================
--- desktop/unstable/gnome-shell/debian/control [utf-8] (original)
+++ desktop/unstable/gnome-shell/debian/control [utf-8] Sat Jun 23 18:49:39 2012
@@ -7,7 +7,7 @@
 Section: gnome
 Priority: optional
 Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers at lists.alioth.debian.org>
-Uploaders: Michael Biebl <biebl at debian.org>, Sjoerd Simons <sjoerd at debian.org>
+Uploaders: Josselin Mouette <joss at debian.org>, Michael Biebl <biebl at debian.org>, Sjoerd Simons <sjoerd at debian.org>
 Build-Depends: autotools-dev,
                cdbs,
                debhelper (>= 8.1.3~),
@@ -32,7 +32,7 @@
                libgnome-bluetooth-dev (>= 2.90.0) [linux-any],
                libgnome-desktop-3-dev (>= 2.90.0),
                libgnome-keyring-dev,
-               libgnome-menu-3-dev,
+               libgnome-menu-3-dev (>= 3.4.2-3~),
                libgstreamer0.10-dev (>= 0.10.16),
                libgtk-3-dev (>= 3.3.9),
                libmutter-dev (>= 3.4.1),

Modified: desktop/unstable/gnome-shell/debian/control.in
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/control.in?rev=35416&op=diff
==============================================================================
--- desktop/unstable/gnome-shell/debian/control.in [utf-8] (original)
+++ desktop/unstable/gnome-shell/debian/control.in [utf-8] Sat Jun 23 18:49:39 2012
@@ -27,7 +27,7 @@
                libgnome-bluetooth-dev (>= 2.90.0) [linux-any],
                libgnome-desktop-3-dev (>= 2.90.0),
                libgnome-keyring-dev,
-               libgnome-menu-3-dev,
+               libgnome-menu-3-dev (>= 3.4.2-3~),
                libgstreamer0.10-dev (>= 0.10.16),
                libgtk-3-dev (>= 3.3.9),
                libmutter-dev (>= 3.4.1),

Added: desktop/unstable/gnome-shell/debian/patches/01_slist_cleanup.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/01_slist_cleanup.patch?rev=35416&op=file
==============================================================================
--- desktop/unstable/gnome-shell/debian/patches/01_slist_cleanup.patch (added)
+++ desktop/unstable/gnome-shell/debian/patches/01_slist_cleanup.patch [utf-8] Sat Jun 23 18:49:39 2012
@@ -1,0 +1,53 @@
+From 96cdc9c4eb9318299b3382026d1dbac1d5941f17 Mon Sep 17 00:00:00 2001
+From: Jasper St. Pierre <jstpierre at mecheye.net>
+Date: Mon, 18 Jun 2012 10:22:29 +0000
+Subject: app-system: Use g_slist_free_full
+
+https://bugzilla.gnome.org/show_bug.cgi?id=658176
+---
+diff --git a/src/shell-app-system.c b/src/shell-app-system.c
+index 26718b3..6210220 100644
+--- a/src/shell-app-system.c
++++ b/src/shell-app-system.c
+@@ -123,8 +123,7 @@ shell_app_system_finalize (GObject *object)
+   g_hash_table_destroy (priv->id_to_app);
+   g_hash_table_destroy (priv->setting_id_to_app);
+ 
+-  g_slist_foreach (priv->known_vendor_prefixes, (GFunc)g_free, NULL);
+-  g_slist_free (priv->known_vendor_prefixes);
++  g_slist_free_full (priv->known_vendor_prefixes, g_free);
+   priv->known_vendor_prefixes = NULL;
+ 
+   G_OBJECT_CLASS (shell_app_system_parent_class)->finalize (object);
+@@ -309,8 +308,7 @@ on_apps_tree_changed_cb (GMenuTree *tree,
+ 
+   g_assert (tree == self->priv->apps_tree);
+ 
+-  g_slist_foreach (self->priv->known_vendor_prefixes, (GFunc)g_free, NULL);
+-  g_slist_free (self->priv->known_vendor_prefixes);
++  g_slist_free_full (self->priv->known_vendor_prefixes, g_free);
+   self->priv->known_vendor_prefixes = NULL;
+ 
+   if (!gmenu_tree_load_sync (self->priv->apps_tree, &error))
+@@ -761,8 +759,7 @@ search_tree (ShellAppSystem *self,
+                            &prefix_results,
+                            &substring_results);
+     }
+-  g_slist_foreach (normalized_terms, (GFunc)g_free, NULL);
+-  g_slist_free (normalized_terms);
++  g_slist_free_full (normalized_terms, g_free);
+ 
+   return sort_and_concat_results (self, prefix_results, substring_results);
+ 
+@@ -815,8 +812,7 @@ shell_app_system_subsearch (ShellAppSystem   *system,
+                            &prefix_results,
+                            &substring_results);
+     }
+-  g_slist_foreach (normalized_terms, (GFunc)g_free, NULL);
+-  g_slist_free (normalized_terms);
++  g_slist_free_full (normalized_terms, g_free);
+ 
+   /* Note that a shorter term might have matched as a prefix, but
+      when extended only as a substring, so we have to redo the
+--
+cgit v0.9.0.2

Added: desktop/unstable/gnome-shell/debian/patches/02_filter_nodisplay_parents.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/02_filter_nodisplay_parents.patch?rev=35416&op=file
==============================================================================
--- desktop/unstable/gnome-shell/debian/patches/02_filter_nodisplay_parents.patch (added)
+++ desktop/unstable/gnome-shell/debian/patches/02_filter_nodisplay_parents.patch [utf-8] Sat Jun 23 18:49:39 2012
@@ -1,0 +1,79 @@
+From df56ff4f097ab4109a40fc928199abfe6511a4b7 Mon Sep 17 00:00:00 2001
+From: Jasper St. Pierre <jstpierre at mecheye.net>
+Date: Tue, 19 Jun 2012 15:35:05 +0000
+Subject: app-system: Don't show items with NoDisplay parents in the search
+
+Additionally, require gnome-menus 3.5.3, as we're using new API
+introduced there.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=658176
+---
+diff --git a/src/shell-app-system.c b/src/shell-app-system.c
+index 6210220..7f34c28 100644
+--- a/src/shell-app-system.c
++++ b/src/shell-app-system.c
+@@ -41,6 +41,7 @@ struct _ShellAppSystemPrivate {
+   GMenuTree *apps_tree;
+ 
+   GHashTable *running_apps;
++  GHashTable *visible_id_to_app;
+   GHashTable *id_to_app;
+ 
+   GSList *known_vendor_prefixes;
+@@ -92,14 +93,16 @@ shell_app_system_init (ShellAppSystem *self)
+   priv->id_to_app = g_hash_table_new_full (g_str_hash, g_str_equal,
+                                            NULL,
+                                            (GDestroyNotify)g_object_unref);
++
++  /* All the objects in this hash table are owned by id_to_app */
++  priv->visible_id_to_app = g_hash_table_new (g_str_hash, g_str_equal);
++
+   priv->setting_id_to_app = g_hash_table_new_full (g_str_hash, g_str_equal,
+                                                    NULL,
+                                                    (GDestroyNotify)g_object_unref);
+ 
+-  /* For now, we want to pick up Evince, Nautilus, etc.  We'll
+-   * handle NODISPLAY semantics at a higher level or investigate them
+-   * case by case.
+-   */
++  /* We want to track NoDisplay apps, so we add INCLUDE_NODISPLAY. We'll
++   * filter NoDisplay apps out when showing them to the user. */
+   priv->apps_tree = gmenu_tree_new ("applications.menu", GMENU_TREE_FLAGS_INCLUDE_NODISPLAY);
+   g_signal_connect (priv->apps_tree, "changed", G_CALLBACK (on_apps_tree_changed_cb), self);
+ 
+@@ -121,6 +124,7 @@ shell_app_system_finalize (GObject *object)
+ 
+   g_hash_table_destroy (priv->running_apps);
+   g_hash_table_destroy (priv->id_to_app);
++  g_hash_table_destroy (priv->visible_id_to_app);
+   g_hash_table_destroy (priv->setting_id_to_app);
+ 
+   g_slist_free_full (priv->known_vendor_prefixes, g_free);
+@@ -308,6 +312,7 @@ on_apps_tree_changed_cb (GMenuTree *tree,
+ 
+   g_assert (tree == self->priv->apps_tree);
+ 
++  g_hash_table_remove_all (self->priv->visible_id_to_app);
+   g_slist_free_full (self->priv->known_vendor_prefixes, g_free);
+   self->priv->known_vendor_prefixes = NULL;
+ 
+@@ -369,6 +374,8 @@ on_apps_tree_changed_cb (GMenuTree *tree,
+        * string is pointed to.
+        */
+       g_hash_table_replace (self->priv->id_to_app, (char*)id, app);
++      if (!gmenu_tree_entry_get_is_nodisplay_recurse (entry))
++        g_hash_table_replace (self->priv->visible_id_to_app, (char*)id, app);
+ 
+       if (old_entry)
+         gmenu_tree_item_unref (old_entry);
+@@ -778,7 +785,7 @@ GSList *
+ shell_app_system_initial_search (ShellAppSystem  *self,
+                                  GSList          *terms)
+ {
+-  return search_tree (self, terms, self->priv->id_to_app);
++  return search_tree (self, terms, self->priv->visible_id_to_app);
+ }
+ 
+ /**
+--
+cgit v0.9.0.2

Added: desktop/unstable/gnome-shell/debian/patches/03_fix_nodisplay.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/03_fix_nodisplay.patch?rev=35416&op=file
==============================================================================
--- desktop/unstable/gnome-shell/debian/patches/03_fix_nodisplay.patch (added)
+++ desktop/unstable/gnome-shell/debian/patches/03_fix_nodisplay.patch [utf-8] Sat Jun 23 18:49:39 2012
@@ -1,0 +1,25 @@
+From 0c4692ae5836fffdab4dcd0fc7220f825162746b Mon Sep 17 00:00:00 2001
+From: Jasper St. Pierre <jstpierre at mecheye.net>
+Date: Tue, 19 Jun 2012 17:02:38 +0000
+Subject: appDisplay: Fix recursive directory NoDisplay testing
+
+We were accidentally testing NoDisplay on the wrong directory.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=658176
+---
+Index: gnome-shell-3.4.1/js/ui/appDisplay.js
+===================================================================
+--- gnome-shell-3.4.1.orig/js/ui/appDisplay.js	2012-03-19 16:56:49.000000000 +0100
++++ gnome-shell-3.4.1/js/ui/appDisplay.js	2012-06-23 20:46:52.795294653 +0200
+@@ -207,8 +207,9 @@ const ViewByCategories = new Lang.Class(
+                 if (!entry.get_app_info().get_nodisplay())
+                     appList.push(app);
+             } else if (nextType == GMenu.TreeItemType.DIRECTORY) {
+-                if (!dir.get_is_nodisplay())
+-                    this._loadCategory(iter.get_directory(), appList);
++                var itemDir = iter.get_directory();
++                if (!itemDir.get_is_nodisplay())
++                    this._loadCategory(itemDir, appList);
+             }
+         }
+     },

Modified: desktop/unstable/gnome-shell/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/series?rev=35416&op=diff
==============================================================================
--- desktop/unstable/gnome-shell/debian/patches/series [utf-8] (original)
+++ desktop/unstable/gnome-shell/debian/patches/series [utf-8] Sat Jun 23 18:49:39 2012
@@ -1,3 +1,6 @@
+01_slist_cleanup.patch
+02_filter_nodisplay_parents.patch
+03_fix_nodisplay.patch
 10-make-NetworkManager-optional.patch
 11-no-gettext.patch
 14_make-GLX-optional.patch
@@ -5,4 +8,3 @@
 24-mirror-evolution-calendar-settings.patch
 25-close-the-recorder-instead-of-pausing-it.patch
 26-fix-empathy-popup-regression.patch
-27-don-t-show-apps-in-NoDisplay-categories.patch




More information about the pkg-gnome-commits mailing list