[Bf-blender-cvs] [baa1513] asset-engine: Merge branch 'asset-experiments' into asset-engine

Bastien Montagne noreply at git.blender.org
Sun Aug 30 11:49:12 CEST 2015


Commit: baa15136031170461c3700c782c2284eaea1ce64
Author: Bastien Montagne
Date:   Sun Aug 30 11:44:35 2015 +0200
Branches: asset-engine
https://developer.blender.org/rBbaa15136031170461c3700c782c2284eaea1ce64

Merge branch 'asset-experiments' into asset-engine

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



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

diff --cc source/blender/blenloader/BLO_readfile.h
index 60dcf8c,77bdb99..94aa4ce
--- a/source/blender/blenloader/BLO_readfile.h
+++ b/source/blender/blenloader/BLO_readfile.h
@@@ -36,8 -36,7 +36,9 @@@
  extern "C" {
  #endif
  
 +struct AssetEngineType;
 +struct AssetUUID;
+ struct BlendThumbnail;
  struct bScreen;
  struct LinkNode;
  struct Main;
diff --cc source/blender/editors/space_file/file_ops.c
index b442da6,7f5e6b9..cfaee64
--- a/source/blender/editors/space_file/file_ops.c
+++ b/source/blender/editors/space_file/file_ops.c
@@@ -1337,10 -1271,14 +1337,14 @@@ int file_exec(bContext *C, wmOperator *
  	wmWindowManager *wm = CTX_wm_manager(C);
  	SpaceFile *sfile = CTX_wm_space_file(C);
  	const struct FileDirEntry *file = filelist_file(sfile->files, sfile->params->active_file);
 -	char filepath[FILE_MAX];
 -
 +	char filepath[FILE_MAX_LIBEXTRA];
 +	
  	/* directory change */
  	if (file && (file->typeflag & FILE_TYPE_DIR)) {
+ 		if (!file->relpath) {
+ 			return OPERATOR_CANCELLED;
+ 		}
+ 
  		if (FILENAME_IS_PARENT(file->relpath)) {
  			BLI_parent_dir(sfile->params->dir);
  		}
diff --cc source/blender/editors/space_file/filelist.c
index 75c2f08,0a9bb40..bf2b2c3
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@@ -1002,6 -959,76 +1002,78 @@@ static void filelist_checkdir_main(stru
  	filelist_checkdir_lib(filelist, r_dir);
  }
  
++#if 0
+ static void filelist_entry_clear(FileDirEntry *entry)
+ {
+ 	if (entry->name) {
+ 		MEM_freeN(entry->name);
+ 	}
+ 	if (entry->description) {
+ 		MEM_freeN(entry->description);
+ 	}
+ 	if (entry->relpath) {
+ 		MEM_freeN(entry->relpath);
+ 	}
+ 	if (entry->image) {
+ 		IMB_freeImBuf(entry->image);
+ 	}
+ 	/* For now, consider FileDirEntryRevision::poin as not owned here, so no need to do anything about it */
+ 
+ 	if (!BLI_listbase_is_empty(&entry->variants)) {
+ 		FileDirEntryVariant *var;
+ 
+ 		for (var = entry->variants.first; var; var = var->next) {
+ 			if (var->name) {
+ 				MEM_freeN(var->name);
+ 			}
+ 			if (var->description) {
+ 				MEM_freeN(var->description);
+ 			}
+ 
+ 			if (!BLI_listbase_is_empty(&var->revisions)) {
+ 				FileDirEntryRevision *rev;
+ 
+ 				for (rev = var->revisions.first; rev; rev = rev->next) {
+ 					if (rev->comment) {
+ 						MEM_freeN(rev->comment);
+ 					}
+ 				}
+ 
+ 				BLI_freelistN(&var->revisions);
+ 			}
+ 		}
+ 
+ 		/* TODO: tags! */
+ 
+ 		BLI_freelistN(&entry->variants);
+ 	}
+ 	else if (entry->entry) {
+ 		MEM_freeN(entry->entry);
+ 	}
+ }
+ 
+ static void filelist_entry_free(FileDirEntry *entry)
+ {
+ 	filelist_entry_clear(entry);
+ 	MEM_freeN(entry);
+ }
+ 
+ static void filelist_direntryarr_free(FileDirEntryArr *array)
+ {
+ 	FileDirEntry *entry, *entry_next;
+ 
+ 	for (entry = array->entries.first; entry; entry = entry_next) {
+ 		entry_next = entry->next;
+ 		filelist_entry_free(entry);
+ 	}
+ 	BLI_listbase_clear(&array->entries);
+ 	array->nbr_entries = 0;
+ 	array->nbr_entries_filtered = -1;
+ 	array->entry_idx_start = -1;
+ 	array->entry_idx_end = -1;
+ }
++#endif
+ 
  static void filelist_intern_entry_free(FileListInternEntry *entry)
  {
  	if (entry->relpath) {




More information about the Bf-blender-cvs mailing list