brasero r1937 - in trunk: . src



Author: philippr
Date: Tue Feb 17 07:21:21 2009
New Revision: 1937
URL: http://svn.gnome.org/viewvc/brasero?rev=1937&view=rev

Log:
2009-02-17  Philippe Rouquier  <ykw localhost localdomain>

	Fix typo that broke symlinks handling (regular files/directories were
	seen as symlinks)

	* src/brasero-data-project.c (brasero_data_project_add_node_real):
	* src/brasero-file-node.c (brasero_file_node_set_from_info):

Modified:
   trunk/ChangeLog
   trunk/src/brasero-data-project.c
   trunk/src/brasero-file-node.c

Modified: trunk/src/brasero-data-project.c
==============================================================================
--- trunk/src/brasero-data-project.c	(original)
+++ trunk/src/brasero-data-project.c	Tue Feb 17 07:21:21 2009
@@ -1524,8 +1524,10 @@
 	}
 	else {
 		gchar *parent_uri;
+		gchar *name_uri;
 
 		parent_uri = brasero_data_project_node_to_uri (self, node->parent);
+		name_uri = g_path_get_basename (uri);
 
 		/* NOTE: in here use a special function here since that node 
 		 * could already be in the tree but under its rightful parent
@@ -1536,7 +1538,10 @@
 
 			parent_len = strlen (parent_uri);
 			if (strncmp (parent_uri, uri, parent_len)
-			&&  uri [parent_len] != G_DIR_SEPARATOR) {
+			||  uri [parent_len] != G_DIR_SEPARATOR
+			|| !name_uri
+			|| !BRASERO_FILE_NODE_NAME (node)
+			||  strcmp (name_uri, BRASERO_FILE_NODE_NAME (node))) {
 				/* The node hasn't been put under its rightful
 				 * parent from the original file system. That
 				 * means we must add a graft */
@@ -1557,6 +1562,7 @@
 			graft = brasero_data_project_uri_graft_nodes (self, uri);
 			brasero_file_node_graft (node, graft);
 		}
+		g_free (name_uri);
 	}
 
 	/* check joliet compatibility; do it after node was created. */

Modified: trunk/src/brasero-file-node.c
==============================================================================
--- trunk/src/brasero-file-node.c	(original)
+++ trunk/src/brasero-file-node.c	Tue Feb 17 07:21:21 2009
@@ -746,7 +746,7 @@
 		stats->children ++;
 	}
 
-	if (!node->is_symlink && (g_file_info_get_file_type (info) != G_FILE_TYPE_SYMBOLIC_LINK)) {
+	if (!node->is_symlink && (g_file_info_get_file_type (info) == G_FILE_TYPE_SYMBOLIC_LINK)) {
 		/* only count files */
 		stats->num_sym ++;
 	}



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