[Bf-blender-cvs] [68bab33] asset-engine: More fixes...

Bastien Montagne noreply at git.blender.org
Tue Apr 14 16:59:58 CEST 2015


Commit: 68bab334e000aa078795115e3549fa481aa83f85
Author: Bastien Montagne
Date:   Tue Apr 14 16:58:38 2015 +0200
Branches: asset-engine
https://developer.blender.org/rB68bab334e000aa078795115e3549fa481aa83f85

More fixes...

Amber engine seems to be running nice again in new system, pfew!

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

M	release/scripts/startup/bl_operators/amber.py
M	source/blender/blenkernel/intern/asset.c
M	source/blender/editors/space_file/filelist.c

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

diff --git a/release/scripts/startup/bl_operators/amber.py b/release/scripts/startup/bl_operators/amber.py
index 9b6cfb4..0955e67 100644
--- a/release/scripts/startup/bl_operators/amber.py
+++ b/release/scripts/startup/bl_operators/amber.py
@@ -267,6 +267,7 @@ class AssetEngineAmber(AssetEngine):
             if job.root != entries.root_path:
                 self.reset()
                 self.jobs[job_id] = AmberJobList(self.executor, job_id, entries.root_path)
+                self.root = entries.root_path
             else:
                 job.update(self.repo, self.dirs, self.uuids)
         elif self.root != entries.root_path:
@@ -274,6 +275,7 @@ class AssetEngineAmber(AssetEngine):
             job_id = self.job_uuid
             self.job_uuid += 1
             self.jobs[job_id] = AmberJobList(self.executor, job_id, entries.root_path)
+            self.root = entries.root_path
         if self.repo:
             entries.nbr_entries = len(self.repo["entries"])
             self.tags_source[:] = sorted(self.repo["tags"].items(), key=lambda i: i[1], reverse=True)
@@ -287,7 +289,7 @@ class AssetEngineAmber(AssetEngine):
         root_path = None
         for uuid in uuids.uuids:
             root, file_type, blen_type, vuuids = self.uuids[uuid.uuid_asset]
-            ruuids = vuuids[uuid.uuid_variant]
+            var, ruuids = vuuids[uuid.uuid_variant]
             path_archive, path = ruuids[uuid.uuid_revision]
             if root_path is None:
                 root_path = root
@@ -298,7 +300,8 @@ class AssetEngineAmber(AssetEngine):
             entry.blender_type = blen_type
             # archive part not yet implemented!
             entry.relpath = path
-        entries.root_path = root_path
+        if root_path is not None:
+            entries.root_path = root_path
         return True
 
     def sort_filter(self, use_sort, use_filter, filter_glob, filter_search, entries):
@@ -313,11 +316,13 @@ class AssetEngineAmber(AssetEngine):
                 for path, size, timestamp, uuid in self.dirs:
                     if filter_search and filter_search not in path:
                         continue
+                    if path.startswith(".") and not path.startswith(".."):
+                        continue
                     self.sortedfiltered.append((path, size, timestamp, uuid))
             use_sort = True
         entries.nbr_entries_filtered = len(self.sortedfiltered)
         if use_sort:
-            self.sortedfiltered.sort(key=lambda e: e[0])
+            self.sortedfiltered.sort(key=lambda e: e[0].lower())
             return True
         return False
 
diff --git a/source/blender/blenkernel/intern/asset.c b/source/blender/blenkernel/intern/asset.c
index 5c3fe3c..0768cbe 100644
--- a/source/blender/blenkernel/intern/asset.c
+++ b/source/blender/blenkernel/intern/asset.c
@@ -167,8 +167,6 @@ void BKE_asset_engine_load_pre(AssetEngine *engine, FileDirEntryArr *r_entries)
 			memcpy(uuid->uuid_revision, en->entry->uuid, sizeof(uuid->uuid_revision));
 		}
 
-		BKE_filedir_entryarr_clear(r_entries);
-
 		if (!engine->type->load_pre(engine, uuids, r_entries)) {
 			/* If load_pre returns false (i.e. fails), clear all paths! */
 			/* TODO: report!!! */
diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c
index 5abb169..2ba313b 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -1572,14 +1572,15 @@ static bool filelist_file_cache_block_create(struct FileList *filelist, const in
 	FileListEntryCache *cache = &filelist->filelist_cache;
 
 	if (filelist->ae) {
-		FileDirEntry *tmp_entry;
+		FileDirEntry *entry;
 		int i;
 
-		tmp_entry = filelist_file_create_entries_block(filelist, start_index, size);
+		entry = filelist_file_create_entries_block(filelist, start_index, size);
 
-		for (i = 0; i < size; i++, cursor++, tmp_entry = tmp_entry->next) {
-			printf("%d, %p\n", i, tmp_entry);
-			cache->block_entries[cursor] = tmp_entry;
+		for (i = 0; i < size; i++, cursor++, entry = entry->next) {
+			printf("%d, %p\n", i, entry);
+			cache->block_entries[cursor] = entry;
+			BLI_ghash_insert(cache->uuids, entry->uuid, entry);
 		}
 		return true;
 	}




More information about the Bf-blender-cvs mailing list