[Bf-blender-cvs] [ba49d7e] master: Fix T38303: Inconsistent sorting of names in Append/Link view

Campbell Barton noreply at git.blender.org
Tue Jan 21 15:28:44 CET 2014


Commit: ba49d7e0e338b2b85cc162d265280bac8dc859cc
Author: Campbell Barton
Date:   Wed Jan 22 01:25:07 2014 +1100
https://developer.blender.org/rBba49d7e0e338b2b85cc162d265280bac8dc859cc

Fix T38303: Inconsistent sorting of names in Append/Link view

===================================================================

M	source/blender/editors/space_file/filelist.c

===================================================================

diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c
index 748a0bd..113c7e7 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -188,8 +188,15 @@ static int compare_name(const void *a1, const void *a2)
 	if (strcmp(entry2->relname, ".") == 0) return (1);
 	if (strcmp(entry1->relname, "..") == 0) return (-1);
 	if (strcmp(entry2->relname, "..") == 0) return (1);
-	
-	return (BLI_natstrcmp(entry1->relname, entry2->relname));
+
+	{
+		int cmp = BLI_natstrcmp(entry1->relname, entry2->relname);
+		if (cmp == 0) {
+			/* when strings are a case insensitive match, we don't want a random order for qsort [#38303] */
+			cmp = strcmp(entry1->relname, entry2->relname);
+		}
+		return cmp;
+	}
 }
 
 static int compare_date(const void *a1, const void *a2)




More information about the Bf-blender-cvs mailing list