[Bf-blender-cvs] [a8a3674bade] asset-engine: Merge branch 'master' into asset-engine

Bastien Montagne noreply at git.blender.org
Thu Jul 20 12:59:28 CEST 2017


Commit: a8a3674bade54d091917b73a7f64f6fb76fb57b4
Author: Bastien Montagne
Date:   Tue Jul 18 16:40:20 2017 +0200
Branches: asset-engine
https://developer.blender.org/rBa8a3674bade54d091917b73a7f64f6fb76fb57b4

Merge branch 'master' into asset-engine

Conflicts:
	source/blender/editors/space_file/filelist.h

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



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

diff --cc source/blender/editors/space_file/filelist.c
index d628fcfe8b2,8e548d7a9bd..4caa0ac77ec
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@@ -674,20 -686,58 +681,21 @@@ static void filelist_filter_clear(FileL
  	filelist->flags |= FL_NEED_FILTERING;
  }
  
 -void filelist_filter(FileList *filelist)
 +static bool filelist_need_filtering(struct FileList *filelist)
  {
 -	int num_filtered = 0;
 -	const int num_files = filelist->filelist.nbr_entries;
 -	FileListInternEntry **filtered_tmp, *file;
 -
 -	if (filelist->filelist.nbr_entries == 0) {
 -		return;
 -	}
 -
 -	if (!(filelist->flags & FL_NEED_FILTERING)) {
 -		/* Assume it has already been filtered, nothing else to do! */
 -		return;
 -	}
 -
 -	filelist->filter_data.flags &= ~FLF_HIDE_LIB_DIR;
 -	if (filelist->max_recursion) {
 -		/* Never show lib ID 'categories' directories when we are in 'flat' mode, unless
 -		 * root path is a blend file. */
 -		char dir[FILE_MAX_LIBEXTRA];
 -		if (!filelist_islibrary(filelist, dir, NULL)) {
 -			filelist->filter_data.flags |= FLF_HIDE_LIB_DIR;
 -		}
 -	}
 -
 -	filtered_tmp = MEM_mallocN(sizeof(*filtered_tmp) * (size_t)num_files, __func__);
 -
 -	/* Filter remap & count how many files are left after filter in a single loop. */
 -	for (file = filelist->filelist_intern.entries.first; file; file = file->next) {
 -		if (filelist->filterf(file, filelist->filelist.root, &filelist->filter_data)) {
 -			filtered_tmp[num_filtered++] = file;
 -		}
 -	}
 -
 -	if (filelist->filelist_intern.filtered) {
 -		MEM_freeN(filelist->filelist_intern.filtered);
 -	}
 -	filelist->filelist_intern.filtered = MEM_mallocN(sizeof(*filelist->filelist_intern.filtered) * (size_t)num_filtered,
 -	                                                 __func__);
 -	memcpy(filelist->filelist_intern.filtered, filtered_tmp,
 -	       sizeof(*filelist->filelist_intern.filtered) * (size_t)num_filtered);
 -	filelist->filelist.nbr_entries_filtered = num_filtered;
 -//	printf("Filetered: %d over %d entries\n", num_filtered, filelist->filelist.nbr_entries);
 +	return ((filelist->flags & FL_NEED_FILTERING) || (filelist->ae && (filelist->ae->flag & AE_DIRTY_FILTER)));
 +}
  
 -	filelist_cache_clear(&filelist->filelist_cache, filelist->filelist_cache.size);
 +static void filelist_need_filtering_clear(struct FileList *filelist)
 +{
  	filelist->flags &= ~FL_NEED_FILTERING;
 -
 -	MEM_freeN(filtered_tmp);
 +	if (filelist->ae) {
 +		filelist->ae->flag &= ~AE_DIRTY_FILTER;
 +	}
  }
  
- void filelist_setfilter_options(FileList *filelist, const bool hide_dot, const bool hide_parent,
+ void filelist_setfilter_options(FileList *filelist, const bool do_filter,
+                                 const bool hide_dot, const bool hide_parent,
                                  const unsigned int filter, const unsigned int filter_id,
                                  const char *filter_glob, const char *filter_search)
  {
diff --cc source/blender/editors/space_file/filelist.h
index 3b08f9da675,4e9c1e0dd1d..b4e066b0976
--- a/source/blender/editors/space_file/filelist.h
+++ b/source/blender/editors/space_file/filelist.h
@@@ -65,10 -66,13 +65,11 @@@ int                 folderlist_clear_ne
  
  
  void                filelist_setsorting(struct FileList *filelist, const short sort);
- void                filelist_setfilter_options(struct FileList *filelist, const bool hide_dot, const bool hide_parent,
 -void                filelist_sort(struct FileList *filelist);
 -
+ void                filelist_setfilter_options(struct FileList *filelist, const bool do_filter,
+                                                const bool hide_dot, const bool hide_parent,
                                                 const unsigned int filter, const unsigned int filter_id,
                                                 const char *filter_glob, const char *filter_search);
 -void                filelist_filter(struct FileList *filelist);
 +void                filelist_sort_filter(struct FileList *filelist, struct FileSelectParams *params);
  
  void                filelist_init_icons(void);
  void                filelist_free_icons(void);




More information about the Bf-blender-cvs mailing list