[Bf-blender-cvs] [fc543da] asset-engine: Merge branch 'asset-experiments' into asset-engine
Bastien Montagne
noreply at git.blender.org
Mon Apr 6 20:27:12 CEST 2015
Commit: fc543da8434189452d1d19a5171b13416dff12f0
Author: Bastien Montagne
Date: Mon Apr 6 20:27:04 2015 +0200
Branches: asset-engine
https://developer.blender.org/rBfc543da8434189452d1d19a5171b13416dff12f0
Merge branch 'asset-experiments' into asset-engine
Conflicts:
source/blender/editors/space_file/filelist.c
===================================================================
===================================================================
diff --cc source/blender/editors/space_file/filelist.c
index bd7b34e,c4389a2..2927ff7
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@@ -2575,59 -2529,11 +2575,60 @@@ static void filelist_readjob_update(voi
flrj->filelist->need_sorting = true;
flrj->filelist->need_filtering = true;
flrj->filelist->force_refresh = true;
+
+ for (entry = flrj->filelist->filelist.entries.first; entry; entry = entry->next) {
+ BLI_assert(!BLI_listbase_is_empty(&entry->variants) && entry->nbr_variants);
+ BLI_assert(entry->act_variant < entry->nbr_variants);
+ if (!entry->name) {
+ char buff[FILE_MAX_LIBEXTRA];
- entry->name = BLI_strdup(fileentry_uiname(flrj->filelist->filelist.root, entry, buff));
++ entry->name = BLI_strdup(fileentry_uiname(flrj->filelist->filelist.root,
++ entry->relpath, entry->typeflag, buff));
+ }
+ if (!entry->entry) {
+ FileDirEntryVariant *variant = BLI_findlink(&entry->variants, entry->act_variant);
+ BLI_assert(!BLI_listbase_is_empty(&variant->revisions) && variant->nbr_revisions);
+ BLI_assert(variant->act_revision < variant->nbr_revisions);
+ entry->entry = BLI_findlink(&variant->revisions, variant->act_revision);
+ BLI_assert(entry->entry);
+ }
+ }
+
+ *flrj->progress = ae->type->progress(ae, flrj->ae_job_id);
+ if ((ae->type->status(ae, flrj->ae_job_id) & (AE_STATUS_RUNNING | AE_STATUS_VALID)) != (AE_STATUS_RUNNING | AE_STATUS_VALID)) {
+ *flrj->stop = true;
+ }
}
+ else {
+ FileListIntern *fl_intern = &flrj->filelist->filelist_intern;
+ ListBase new_entries = {NULL};
+ int nbr_entries, new_nbr_entries = 0;
+
+ BLI_movelisttolist(&new_entries, &fl_intern->entries);
+ nbr_entries = flrj->filelist->filelist.nbr_entries;
+
+ BLI_mutex_lock(&flrj->lock);
+
+ if (flrj->tmp_filelist->filelist.nbr_entries) {
+ /* We just move everything out of 'thread context' into final list. */
+ new_nbr_entries = flrj->tmp_filelist->filelist.nbr_entries;
+ BLI_movelisttolist(&new_entries, &flrj->tmp_filelist->filelist.entries);
+ flrj->tmp_filelist->filelist.nbr_entries = 0;
+ }
- /* if no new_nbr_entries, this is NOP */
- BLI_movelisttolist(&fl_intern->entries, &new_entries);
- flrj->filelist->filelist.nbr_entries = nbr_entries + new_nbr_entries;
+ BLI_mutex_unlock(&flrj->lock);
+
+ if (new_nbr_entries) {
+ filelist_clear(flrj->filelist);
+
+ flrj->filelist->need_sorting = true;
+ flrj->filelist->need_filtering = true;
+ flrj->filelist->force_refresh = true;
+ }
+
+ /* if no new_nbr_entries, this is NOP */
+ BLI_movelisttolist(&fl_intern->entries, &new_entries);
+ flrj->filelist->filelist.nbr_entries = nbr_entries + new_nbr_entries;
+ }
}
static void filelist_readjob_endjob(void *flrjv)
More information about the Bf-blender-cvs
mailing list