Fix T83559: File Browser uses wrong operation

When opening a temporary File Browser, we have to make sure the file selection
parameters are refreshed. When opening it in a new Window that would always be
the case, if the File Browser uses a maximized window (as set in the
Preferences), it might reuse space-data from a previous use. So we have to
force the refresh.
Also renamed the relevant function to be more clear about what it's doing.

Mistake in 95b3c4c966.
This commit is contained in:
Julian Eisel 2020-12-08 21:19:22 +01:00
parent 41fa1fea40
commit e17967f890
Notes: blender-bot 2023-10-04 09:42:55 +02:00
Referenced by issue #83559, File browsers show wrong context
1 changed files with 5 additions and 3 deletions

View File

@ -90,7 +90,7 @@ FileSelectParams *ED_fileselect_get_active_params(const SpaceFile *sfile)
/**
* \note RNA_struct_property_is_set_ex is used here because we want
* the previously used settings to be used here rather than overriding them */
static void fileselect_ensure_file_params(SpaceFile *sfile)
static FileSelectParams *fileselect_ensure_updated_file_params(SpaceFile *sfile)
{
FileSelectParams *params;
wmOperator *op = sfile->op;
@ -323,12 +323,14 @@ static void fileselect_ensure_file_params(SpaceFile *sfile)
if (sfile->layout) {
sfile->layout->dirty = true;
}
return params;
}
FileSelectParams *ED_fileselect_ensure_active_params(SpaceFile *sfile)
{
if (!sfile->params) {
fileselect_ensure_file_params(sfile);
fileselect_ensure_updated_file_params(sfile);
}
return sfile->params;
}
@ -369,7 +371,7 @@ void ED_fileselect_set_params_from_userdef(SpaceFile *sfile)
wmOperator *op = sfile->op;
UserDef_FileSpaceData *sfile_udata = &U.file_space_data;
FileSelectParams *params = ED_fileselect_ensure_active_params(sfile);
FileSelectParams *params = fileselect_ensure_updated_file_params(sfile);
if (!op) {
return;
}