diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2009-01-02 17:03:34 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-01-02 17:03:34 +0000 |
commit | 23486c1532e7653a1b4ef405e28a014f0223fd11 (patch) | |
tree | 7fcc106fd926fc1dd9e60528a6cf4daf94c3dd2d /meta/packages/gtk+/gtk+-2.10.14/filesystem-volumes.patch | |
parent | cf093fa0f307a4614585f711bf501885cf1fccf6 (diff) | |
download | ast2050-yocto-poky-23486c1532e7653a1b4ef405e28a014f0223fd11.zip ast2050-yocto-poky-23486c1532e7653a1b4ef405e28a014f0223fd11.tar.gz |
gtk+: Drop old 2.10.* and 2.13* versions
Diffstat (limited to 'meta/packages/gtk+/gtk+-2.10.14/filesystem-volumes.patch')
-rw-r--r-- | meta/packages/gtk+/gtk+-2.10.14/filesystem-volumes.patch | 198 |
1 files changed, 0 insertions, 198 deletions
diff --git a/meta/packages/gtk+/gtk+-2.10.14/filesystem-volumes.patch b/meta/packages/gtk+/gtk+-2.10.14/filesystem-volumes.patch deleted file mode 100644 index ec15ea3..0000000 --- a/meta/packages/gtk+/gtk+-2.10.14/filesystem-volumes.patch +++ /dev/null @@ -1,198 +0,0 @@ -Index: gtk+-2.10.14/gtk/gtkfilesystemunix.c -=================================================================== ---- gtk+-2.10.14.orig/gtk/gtkfilesystemunix.c 2007-07-16 20:44:17.000000000 +0100 -+++ gtk+-2.10.14/gtk/gtkfilesystemunix.c 2007-08-24 08:29:43.000000000 +0100 -@@ -38,6 +38,7 @@ - #include <errno.h> - #include <string.h> - #include <sys/stat.h> -+#include <sys/statvfs.h> - #include <sys/types.h> - #include <pwd.h> - #ifdef HAVE_UNISTD_H -@@ -475,7 +476,55 @@ - static GSList * - gtk_file_system_unix_list_volumes (GtkFileSystem *file_system) - { -- return g_slist_append (NULL, get_root_volume ()); -+ struct statvfs stv; -+ struct stat st; -+ GSList * l = g_slist_append (NULL, get_root_volume ()); -+ -+ if (!statvfs ("/.", &stv)) -+ { -+ fsblkcnt_t root_blocks = stv.f_blocks; -+ fsfilcnt_t root_files = stv.f_files; -+ -+ GDir * dir; -+ if ((dir = g_dir_open ("/media", 0, NULL)) != NULL) -+ { -+ const gchar * name; -+ while ((name = g_dir_read_name (dir)) != NULL) -+ { -+ gchar * abs_name; -+ -+ /* Skip ram disks */ -+ if (!strcmp (name, "ram")) -+ continue; -+ -+ abs_name = g_strconcat ("/media/", name, NULL); -+ -+ if (!stat (abs_name, &st) && S_ISDIR (st.st_mode)) -+ { -+ gchar * dot = g_strconcat (abs_name, "/.", NULL); -+ if (!statvfs (dot, &stv) && -+ (stv.f_blocks != root_blocks || -+ stv.f_files != root_files)) -+ { -+ GtkFilePath * path = -+ gtk_file_system_filename_to_path (file_system, -+ abs_name); -+ -+ if (path) -+ l = g_slist_append (l, path); -+ } -+ -+ g_free (dot); -+ } -+ -+ g_free (abs_name); -+ } -+ -+ g_dir_close (dir); -+ } -+ } -+ -+ return l; - } - - static GtkFileSystemVolume * -@@ -489,13 +538,18 @@ - remove_trailing_slash (const char *filename) - { - int len; -- -+ - len = strlen (filename); - -- if (len > 1 && filename[len - 1] == '/') -- return g_strndup (filename, len - 1); -- else -- return g_memdup (filename, len + 1); -+ if (len > 1) -+ { -+ gchar *c = g_utf8_prev_char (filename + len); -+ -+ if (c && *c == '/') -+ return g_strndup (filename, len - 1); -+ } -+ -+ return g_memdup (filename, len + 1); - } - - /* Delay callback dispatching -@@ -1143,7 +1197,7 @@ - gtk_file_system_unix_volume_get_base_path (GtkFileSystem *file_system, - GtkFileSystemVolume *volume) - { -- return gtk_file_path_new_dup ("/"); -+ return gtk_file_path_copy ((GtkFilePath*)volume); - } - - static gboolean -@@ -1177,7 +1231,32 @@ - gtk_file_system_unix_volume_get_display_name (GtkFileSystem *file_system, - GtkFileSystemVolume *volume) - { -- return g_strdup (_("File System")); /* Same as Nautilus */ -+ gchar * slash; -+ gchar * path; -+ gchar * c; -+ -+ g_return_val_if_fail (file_system && volume, NULL); -+ -+ path = gtk_file_system_path_to_filename (file_system, (GtkFilePath*) volume); -+ -+ g_return_val_if_fail (path && *path, NULL); -+ -+ if (path[0] == '/' && !path[1]) -+ return g_strdup (_("Filesystem")); /* Same as Nautilus */ -+ -+ /* Now the media volumes */ -+ /* strip trailing / if any */ -+ c = g_utf8_prev_char (path + strlen(path)); -+ -+ if (*c == '/') -+ *c = 0; -+ -+ slash = g_utf8_strrchr (path, -1, '/'); -+ -+ if (!slash) -+ return g_strdup (path); -+ -+ return g_strdup (slash + 1); - } - - static IconType -@@ -1265,10 +1344,57 @@ - GtkFileSystemVolume *volume, - GError **error) - { -- /* FIXME: maybe we just always want to return GTK_STOCK_HARDDISK here? -- * or the new tango icon name? -- */ -- return g_strdup ("gnome-dev-harddisk"); -+ gchar * c; -+ gchar * slash; -+ gchar * path = NULL; -+ GtkFilePath * fpath; -+ const gchar * id = NULL; -+ -+ g_return_val_if_fail (file_system && volume, NULL); -+ -+ fpath = gtk_file_system_volume_get_base_path (file_system, volume); -+ -+ if (!fpath) -+ goto out; -+ -+ path = gtk_file_system_path_to_filename (file_system, fpath); -+ gtk_file_path_free (fpath); -+ -+ if (!path || !*path || (*path == '/' && !path[1])) -+ goto out; -+ -+ /* Now the media volumes */ -+ /* strip trailing / if any */ -+ c = g_utf8_prev_char (path + strlen(path)); -+ -+ if (*c == '/') -+ *c = 0; -+ -+ slash = g_utf8_strrchr (path, -1, '/'); -+ -+ if (slash) -+ { -+ slash++; -+ -+ if (!strcmp (slash, "card")) -+ id = "gnome-dev-media-sdmmc"; -+ else if (!strcmp (slash, "cf")) -+ id = "gnome-dev-media-cf"; -+ else if (!strncmp (slash, "mmc", 3)) -+ id = "gnome-dev-media-sdmmc"; -+ else if (!strcmp (slash, "usbhdd")) -+ id = "gnome-dev-removable-usb"; -+ else -+ id = "gnome-dev-removable"; -+ } -+ -+ out: -+ g_free (path); -+ -+ if (!id) -+ id = "gnome-fs-blockdev"; -+ -+ return g_strdup (id); - } - - static char * |