[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