--- nautilus/ChangeLog	2005-08-23 06:33:25.000000000 +0530
+++ nautilus-new/ChangeLog	2005-08-26 10:03:04.840422424 +0530
@@ -1,3 +1,10 @@
+2005-08-26  Dinoop Thomas  <dinoop.thomas@wipro.com>
+	
+	* libnautilus-private/nautilus-file.c
+	(compare_by_display_name):
+	Make a check before passing the key to strcmp to avoid crashing for 
+	NULL keys in Solaris. Fixes bug #314453.
+
 2005-08-23  Martin Wehner  <martin.wehner@gmail.com>
 
 	* configure.in:
--- nautilus/libnautilus-private/nautilus-file.c	2005-08-23 02:47:58.000000000 +0530
+++ nautilus-new/libnautilus-private/nautilus-file.c	2005-08-26 10:00:39.493518512 +0530
@@ -1850,7 +1850,7 @@ compare_by_display_name (NautilusFile *f
 	char *name_1, *name_2;
 	char *key_1, *key_2;
 	gboolean sort_last_1, sort_last_2;
-	int compare;
+	int compare = 0;
 
 	name_1 = nautilus_file_get_display_name_nocopy (file_1);
 	name_2 = nautilus_file_get_display_name_nocopy (file_2);
@@ -1865,7 +1865,9 @@ compare_by_display_name (NautilusFile *f
 	} else {
 		key_1 = nautilus_file_get_display_name_collation_key (file_1);
 		key_2 = nautilus_file_get_display_name_collation_key (file_2);
-		compare = strcmp (key_1, key_2);
+		if (key_1 && key_2) {
+			compare = strcmp (key_1, key_2);
+		}
 	}
 
 	return compare;
