matchbox-desktop: add patch to allow vfolders to match against multiple categories
authorRene Wagner <rw@handhelds.org>
Thu, 16 Feb 2006 20:54:39 +0000 (20:54 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Thu, 16 Feb 2006 20:54:39 +0000 (20:54 +0000)
  - a vfolder can now contain something like
    Match=AudioVideo;Graphics;Media;Viewer;

packages/matchbox-desktop/matchbox-desktop-0.9.1/.mtn2git_empty [new file with mode: 0644]
packages/matchbox-desktop/matchbox-desktop-0.9.1/mb-desktop-multi-category-matching.patch [new file with mode: 0644]
packages/matchbox-desktop/matchbox-desktop_0.9.1.bb

diff --git a/packages/matchbox-desktop/matchbox-desktop-0.9.1/.mtn2git_empty b/packages/matchbox-desktop/matchbox-desktop-0.9.1/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/matchbox-desktop/matchbox-desktop-0.9.1/mb-desktop-multi-category-matching.patch b/packages/matchbox-desktop/matchbox-desktop-0.9.1/mb-desktop-multi-category-matching.patch
new file mode 100644 (file)
index 0000000..e4c245e
--- /dev/null
@@ -0,0 +1,39 @@
+--- matchbox-desktop-0.9.1/modules/dotdesktop.c.orig   2006-02-15 23:08:31.000000000 +0100
++++ matchbox-desktop-0.9.1/modules/dotdesktop.c        2006-02-16 00:31:46.000000000 +0100
+@@ -84,9 +84,33 @@
+                 item_fallback = item;
+                 continue;
+               }
+-            if (category && strstr(category, match_str))
+-              {
+-                return item;
++            if (category)
++              {
++                if (strstr(match_str, ";"))
++                  {
++                    char *s;
++                    
++                    while (s = strstr(match_str, ";"))
++                      {
++                        size_t len = s - match_str;
++                        char *tok = (char *) malloc (sizeof (char) * (len + 1));
++
++                        strncpy (tok, match_str, len);
++                        tok[len] = 0;
++                        if (strstr (category, tok))
++                          {
++                            free (tok);
++                            return item;
++                          }
++                        match_str = s + 1;
++
++                        free (tok);
++                      }
++                  }
++                else if (strstr(category, match_str))
++                  {
++                    return item;
++                  }
+               }
+           }
+       }
index 5b1e472..5e9748c 100644 (file)
@@ -2,8 +2,10 @@ DESCRIPTION = "Matchbox Window Manager Desktop"
 LICENSE = "GPL"
 DEPENDS = "libmatchbox startup-notification"
 SECTION = "x11/wm"
+PR = "r1"
 
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-desktop/0.9/matchbox-desktop-${PV}.tar.bz2"
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-desktop/0.9/matchbox-desktop-${PV}.tar.bz2 \
+           file://mb-desktop-multi-category-matching.patch;patch=1"
 
 EXTRA_OECONF = "--enable-startup-notification --enable-dnotify"