[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21550] branches/blender2.5/blender/source /blender: 2.5 filebrowser

Andrea Weikert elubie at gmx.net
Sun Jul 12 15:06:53 CEST 2009


Revision: 21550
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21550
Author:   elubie
Date:     2009-07-12 15:06:52 +0200 (Sun, 12 Jul 2009)

Log Message:
-----------
2.5 filebrowser 
* bugfix: parent on linux didn't account for first slash
* added some BLI_cleanup_dir to prevent weird directory names
* revert to old directory if user types bogus text.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenlib/intern/util.c
    branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c
    branches/blender2.5/blender/source/blender/editors/space_file/filesel.c

Modified: branches/blender2.5/blender/source/blender/blenlib/intern/util.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenlib/intern/util.c	2009-07-12 12:47:34 UTC (rev 21549)
+++ branches/blender2.5/blender/source/blender/blenlib/intern/util.c	2009-07-12 13:06:52 UTC (rev 21550)
@@ -502,7 +502,7 @@
 	BLI_add_slash(path);
 
 	len = strlen(path)-1;
-	while (len) {
+	while (len>=0) {
 		if ((path[len] == '\\') || (path[len] == '/'))
 			slashes++;
 		len--;

Modified: branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c	2009-07-12 12:47:34 UTC (rev 21549)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c	2009-07-12 13:06:52 UTC (rev 21550)
@@ -559,6 +559,7 @@
 	if(sfile->params) {
 		if (BLI_has_parent(sfile->params->dir)) {
 			BLI_parent_dir(sfile->params->dir);
+			BLI_cleanup_dir(G.sce, sfile->params->dir);
 			file_change_dir(sfile);
 			WM_event_add_notifier(C, NC_FILE|ND_FILELIST, NULL);
 		}
@@ -724,6 +725,7 @@
 		if (sfile->params->dir[0] == '\0')
 			get_default_root(sfile->params->dir);
 #endif
+		BLI_cleanup_dir(G.sce, sfile->params->dir);
 		BLI_add_slash(sfile->params->dir);
 		file_change_dir(sfile);
 		WM_event_add_notifier(C, NC_FILE|ND_FILELIST, NULL);

Modified: branches/blender2.5/blender/source/blender/editors/space_file/filesel.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/filesel.c	2009-07-12 12:47:34 UTC (rev 21549)
+++ branches/blender2.5/blender/source/blender/editors/space_file/filesel.c	2009-07-12 13:06:52 UTC (rev 21550)
@@ -301,16 +301,20 @@
 
 void file_change_dir(struct SpaceFile *sfile)
 {
-	if (sfile->params && BLI_exists(sfile->params->dir)) {
-		filelist_setdir(sfile->files, sfile->params->dir);
+	if (sfile->params) { 
+		if (BLI_exists(sfile->params->dir)) {
+			filelist_setdir(sfile->files, sfile->params->dir);
 
-		if(folderlist_clear_next(sfile))
-			folderlist_free(sfile->folders_next);
+			if(folderlist_clear_next(sfile))
+				folderlist_free(sfile->folders_next);
 
-		folderlist_pushdir(sfile->folders_prev, sfile->params->dir);
+			folderlist_pushdir(sfile->folders_prev, sfile->params->dir);
 
-		filelist_free(sfile->files);
-		sfile->params->active_file = -1;
+			filelist_free(sfile->files);
+			sfile->params->active_file = -1;
+		} else {
+			BLI_strncpy(sfile->params->dir, filelist_dir(sfile->files), FILE_MAX);
+		}
 	}
 }
 





More information about the Bf-blender-cvs mailing list