summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs/gtk+/files/gtk+-2.10.11-update-icon-subdirs.patch')
-rw-r--r--x11-libs/gtk+/files/gtk+-2.10.11-update-icon-subdirs.patch132
1 files changed, 0 insertions, 132 deletions
diff --git a/x11-libs/gtk+/files/gtk+-2.10.11-update-icon-subdirs.patch b/x11-libs/gtk+/files/gtk+-2.10.11-update-icon-subdirs.patch
deleted file mode 100644
index 64cbb0f..0000000
--- a/x11-libs/gtk+/files/gtk+-2.10.11-update-icon-subdirs.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN gtk+-2.10.11.orig/gtk/updateiconcache.c gtk+-2.10.11/gtk/updateiconcache.c
---- gtk+-2.10.11.orig/gtk/updateiconcache.c 2007-03-14 00:07:02.000000000 -0400
-+++ gtk+-2.10.11/gtk/updateiconcache.c 2007-05-01 17:01:46.000000000 -0400
-@@ -43,6 +43,7 @@ static gboolean force_update = FALSE;
- static gboolean ignore_theme_index = FALSE;
- static gboolean quiet = FALSE;
- static gboolean index_only = FALSE;
-+static gboolean check_subdirs = FALSE;
- static gchar *var_name = "-";
-
- #define CACHE_NAME "icon-theme.cache"
-@@ -61,8 +62,82 @@ static gchar *var_name = "-";
- #define ALIGN_VALUE(this, boundary) \
- (( ((unsigned long)(this)) + (((unsigned long)(boundary)) -1)) & (~(((unsigned long)(boundary))-1)))
-
-+/* returns >0 if dir is newer than time, 0 if dir is older than time,
-+ * <0 if stat fails */
-+int
-+dir_check (const gchar *path, time_t cache_time)
-+{
-+ struct stat path_stat;
-+
-+ if (g_stat (path, &path_stat) < 0)
-+ {
-+ return -1;
-+ }
-+ return cache_time < path_stat.st_mtime;
-+}
-+
-+/* Check the subdirectories of the cache dir to see if the cache is up-to-date
-+ * We check first and second level subdirs. */
-+gboolean
-+is_cache_up_to_date_subdirs (const gchar *toppath, time_t cache_time)
-+{
-+ GDir *topdir, *subdir;
-+ const gchar *name, *subname;
-+ gchar *path, *subpath;
-+ int dir_state;
-+
-+ topdir = g_dir_open (toppath, 0, NULL);
-+ if (!topdir)
-+ {
-+ /* we can't open dir, assume updated cache */
-+ return TRUE;
-+ }
-+
-+ while ((name = g_dir_read_name (topdir)))
-+ {
-+ path = g_build_filename (toppath, name, NULL);
-+ dir_state = dir_check (path, cache_time);
-+ if (dir_state < 0)
-+ {
-+ /* cannot stat dir, for some reason; skip */
-+ g_free (path);
-+ continue;
-+ }
-+ else if (dir_state > 0)
-+ {
-+ /* cache is out of date */
-+ g_free (path);
-+ return FALSE;
-+ }
-+
-+ subdir = g_dir_open (path, 0, NULL);
-+ if (!subdir)
-+ {
-+ /* Cannot open subdir; skip */
-+ g_free (path);
-+ continue;
-+ }
-+ while ((subname = g_dir_read_name (subdir)))
-+ {
-+ subpath = g_build_filename (path, subname, NULL);
-+ dir_state = dir_check (subpath, cache_time);
-+ g_free (subpath);
-+
-+ if (dir_state > 0)
-+ {
-+ /* Cache out of date */
-+ return FALSE;
-+ }
-+ }
-+ g_free (path);
-+ }
-+
-+ /* If we get here, the cache is up to date */
-+ return TRUE;
-+}
-+
- gboolean
--is_cache_up_to_date (const gchar *path)
-+is_cache_up_to_date (const gchar *path, gboolean check_subdirs)
- {
- struct stat path_stat, cache_stat;
- gchar *cache_path;
-@@ -88,7 +163,18 @@ is_cache_up_to_date (const gchar *path)
- }
-
- /* Check mtime */
-- return cache_stat.st_mtime >= path_stat.st_mtime;
-+ if (cache_stat.st_mtime < path_stat.st_mtime)
-+ {
-+ /* Cache is out of date */
-+ return FALSE;
-+ }
-+ if (check_subdirs)
-+ {
-+ return is_cache_up_to_date_subdirs (path, cache_stat.st_mtime);
-+ }
-+
-+ /* Cache is up to date */
-+ return TRUE;
- }
-
- gboolean
-@@ -1284,6 +1370,7 @@ static GOptionEntry args[] = {
- { "index-only", 'i', 0, G_OPTION_ARG_NONE, &index_only, N_("Don't include image data in the cache"), NULL },
- { "source", 'c', 0, G_OPTION_ARG_STRING, &var_name, N_("Output a C header file"), "NAME" },
- { "quiet", 'q', 0, G_OPTION_ARG_NONE, &quiet, N_("Turn off verbose output"), NULL },
-+ { "check-subdirs", 's', 0, G_OPTION_ARG_NONE, &check_subdirs, N_("Check subdirectories when determining if cache is up-to-date"), NULL },
- { NULL }
- };
-
-@@ -1316,7 +1403,7 @@ main (int argc, char **argv)
- return 1;
- }
-
-- if (!force_update && is_cache_up_to_date (path))
-+ if (!force_update && is_cache_up_to_date (path, check_subdirs))
- return 0;
-
- g_type_init ();