[gthumb] GIO root path (Filesystem) string updates, partial fix - still broken



commit ec86ab8cef7f474e793e4e52ae10b18877e39006
Author: Marlodavampire <brooss teambb gmail com>
Date:   Tue Jun 2 10:52:01 2009 -0400

    GIO root path (Filesystem) string updates, partial fix - still broken
    
    Bug 525482
---
 libgthumb/file-utils.c |    3 ++-
 src/gth-location.c     |   14 +++++++++++---
 src/main.c             |    2 +-
 3 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/libgthumb/file-utils.c b/libgthumb/file-utils.c
index 798fbbb..b8a47b5 100644
--- a/libgthumb/file-utils.c
+++ b/libgthumb/file-utils.c
@@ -1427,7 +1427,8 @@ remove_ending_separator (const gchar *path)
 
 	if (path == NULL)
 		return NULL;
-
+	if (strcmp(path, "file:///") == 0)
+		return g_strdup(path);
 	copy_len = len = strlen (path);
 	if ((len > 1)
 	    && (path[len - 1] == '/')
diff --git a/src/gth-location.c b/src/gth-location.c
index 0ad1a0d..eba502c 100644
--- a/src/gth-location.c
+++ b/src/gth-location.c
@@ -647,7 +647,7 @@ update_drives (GthLocation *loc)
 	/* Home, File System */
 
 	insert_drive_from_uri (loc, get_home_uri (), pos++);
-	insert_drive_from_uri (loc, "file://", pos++);
+	insert_drive_from_uri (loc, "file:///", pos++);
 	if (!loc->priv->folders_only)
 		insert_drive_from_uri (loc, "catalog:///", pos++);
 
@@ -816,7 +816,7 @@ update_uri (GthLocation *loc,
 				pixbuf = get_icon_for_uri (GTK_WIDGET (loc), uri);
 		}
 
-		if (same_uri (uri, base_uri)) {
+		if (same_uri (uri, base_uri) || same_uri (uri, "file:///")) {
 			if (loc->priv->catalog_uri) {
 				uri_name = g_strdup (_("Catalogs"));
 			}
@@ -851,10 +851,18 @@ update_uri (GthLocation *loc,
 
 		/**/
 
-		if (same_uri (uri, base_uri) || same_uri (uri, home_uri))
+		if (same_uri (uri, base_uri) || same_uri (uri, home_uri) || same_uri (uri, "file:///"))
 			parent = NULL;
 		else
+		{
 			parent = remove_level_from_path (uri);
+			// remove_level_from_path returns file:// for root
+			// not file:/// like we need.
+			if( same_uri (parent, "file://" )){
+				g_free( parent );
+				parent = g_strdup("file:///");
+			}
+		}
 		g_free (uri);
 		uri = parent;
 	}
diff --git a/src/main.c b/src/main.c
index d204066..a59b1ab 100644
--- a/src/main.c
+++ b/src/main.c
@@ -865,7 +865,7 @@ get_icon_for_uri (GtkWidget  *widget,
 	else if (strcmp (uri, get_home_uri ()) == 0)
 		return get_fs_icon (ICON_NAME_HOME, menu_size);
 
-	if ((strcmp (uri, "file://") == 0) || (strcmp (uri, "/") == 0))
+	if ((strcmp (uri, "file:///") == 0) || (strcmp (uri, "/") == 0))
 		return get_fs_icon (ICON_NAME_HARDDISK, menu_size);
 
 	if (uri_scheme_is_catalog (uri)) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]