Fix T90082: Autoscrolling after renaming in the File Browser broken

Caused by 6b0869039a

Above commit introduced selection after renaming. This includes calling
`file_select_deselect_all` [which resorts and refilters].

So now, to have the correct file for scrolling, get it again after
sorting by calling `file_params_find_renamed` again.

Differential Revision: https://developer.blender.org/D13368
This commit is contained in:
Philipp Oeser 2021-11-25 17:31:31 +01:00 committed by Julian Eisel
parent 5a11c6e558
commit b2bb3e4b72
Notes: blender-bot 2024-04-29 13:07:32 +02:00
Referenced by issue #90082, New autoscrolling after renaming in the File Browser works weird
1 changed files with 5 additions and 1 deletions

View File

@ -1372,7 +1372,7 @@ void file_params_renamefile_activate(SpaceFile *sfile, FileSelectParams *params)
BLI_assert(params->renamefile[0] != '\0' || params->rename_id != NULL);
const int idx = file_params_find_renamed(params, sfile->files);
int idx = file_params_find_renamed(params, sfile->files);
if (idx >= 0) {
FileDirEntry *file = filelist_file(sfile->files, idx);
BLI_assert(file != NULL);
@ -1385,7 +1385,11 @@ void file_params_renamefile_activate(SpaceFile *sfile, FileSelectParams *params)
params->rename_flag = FILE_PARAMS_RENAME_ACTIVE;
}
else if ((params->rename_flag & FILE_PARAMS_RENAME_POSTSCROLL_PENDING) != 0) {
/* file_select_deselect_all() will resort and refilter, so idx will probably have changed.
* Need to get the correct FileDirEntry again. */
file_select_deselect_all(sfile, FILE_SEL_SELECTED);
idx = file_params_find_renamed(params, sfile->files);
file = filelist_file(sfile->files, idx);
filelist_entry_select_set(
sfile->files, file, FILE_SEL_ADD, FILE_SEL_SELECTED | FILE_SEL_HIGHLIGHTED, CHECK_ALL);
params->active_file = idx;