[#22133] File Browser Mismatches File Name and Thumbnail

* sorting of file list interfered with thumbnail order, stopping job while sorting now.
This commit is contained in:
Andrea Weikert
2010-04-29 18:53:01 +00:00
parent df2ed9fa3b
commit cbc2a71128
2 changed files with 15 additions and 6 deletions

View File

@@ -613,9 +613,7 @@ struct ImBuf * filelist_loadimage(struct FileList* filelist, int index)
if (!imb)
{
if ( (filelist->filelist[fidx].flags & IMAGEFILE) || (filelist->filelist[fidx].flags & MOVIEFILE) ) {
char path[FILE_MAX];
BLI_join_dirfile(path, filelist->dir, filelist->filelist[fidx].relname);
imb = IMB_thumb_read(path, THB_NORMAL);
imb = IMB_thumb_read(filelist->filelist[fidx].path, THB_NORMAL);
}
if (imb) {
filelist->filelist[fidx].image = imb;
@@ -1336,7 +1334,7 @@ void thumbnails_start(struct FileList* filelist, const struct bContext* C)
if (!filelist->filelist[idx].image) {
if ( (filelist->filelist[idx].flags & IMAGEFILE) || (filelist->filelist[idx].flags & MOVIEFILE) ) {
FileImage* limg = MEM_callocN(sizeof(struct FileImage), "loadimage");
BLI_join_dirfile(limg->path, filelist->dir, filelist->filelist[idx].relname);
BLI_strncpy(limg->path, filelist->filelist[idx].path, FILE_MAX);
limg->index= idx;
limg->flags= filelist->filelist[idx].flags;
BLI_addtail(&tj->loadimages, limg);

View File

@@ -195,13 +195,24 @@ static void file_refresh(const bContext *C, ScrArea *sa)
filelist_setfilter(sfile->files, params->flag & FILE_FILTER ? params->filter : 0);
if (filelist_empty(sfile->files))
{
thumbnails_stop(sfile->files, C);
filelist_readdir(sfile->files);
thumbnails_start(sfile->files, C);
if(params->sort!=FILE_SORT_NONE) {
filelist_sort(sfile->files, params->sort);
}
BLI_strncpy(params->dir, filelist_dir(sfile->files), FILE_MAX);
thumbnails_start(sfile->files, C);
} else {
filelist_filter(sfile->files);
if(params->sort!=FILE_SORT_NONE) {
thumbnails_stop(sfile->files, C);
filelist_sort(sfile->files, params->sort);
thumbnails_start(sfile->files, C);
} else {
filelist_filter(sfile->files);
}
}
if(params->sort!=FILE_SORT_NONE) filelist_sort(sfile->files, params->sort);
if (params->renamefile[0] != '\0') {
int idx = filelist_find(sfile->files, params->renamefile);