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) {

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to