diff options
-rw-r--r-- | source/blender/editors/include/ED_fileselect.h | 2 | ||||
-rw-r--r-- | source/blender/editors/space_file/fsmenu.c | 14 |
2 files changed, 14 insertions, 2 deletions
diff --git a/source/blender/editors/include/ED_fileselect.h b/source/blender/editors/include/ED_fileselect.h index 6a207a6e453..c367072e6e7 100644 --- a/source/blender/editors/include/ED_fileselect.h +++ b/source/blender/editors/include/ED_fileselect.h @@ -216,6 +216,8 @@ typedef enum FSMenuInsert { FS_INSERT_FIRST = (1 << 2), /** just append to preserve delivered order */ FS_INSERT_LAST = (1 << 3), + /** Do not validate the link when inserted. */ + FS_INSERT_NO_VALIDATE = (1 << 4), } FSMenuInsert; struct FSMenu; diff --git a/source/blender/editors/space_file/fsmenu.c b/source/blender/editors/space_file/fsmenu.c index ae0e5b23d55..65354591034 100644 --- a/source/blender/editors/space_file/fsmenu.c +++ b/source/blender/editors/space_file/fsmenu.c @@ -463,7 +463,12 @@ void fsmenu_insert_entry(struct FSMenu *fsmenu, ED_fsmenu_entry_set_icon(fsm_iter, icon); - fsmenu_entry_refresh_valid(fsm_iter); + if (flag & FS_INSERT_NO_VALIDATE) { + fsm_iter->valid = true; + } + else { + fsmenu_entry_refresh_valid(fsm_iter); + } if (fsm_prev) { if (flag & FS_INSERT_FIRST) { @@ -689,7 +694,12 @@ void fsmenu_read_system(struct FSMenu *fsmenu, int read_bookmarks) break; } - fsmenu_insert_entry(fsmenu, FS_CATEGORY_SYSTEM, tmps, name, icon, FS_INSERT_SORTED); + fsmenu_insert_entry(fsmenu, + FS_CATEGORY_SYSTEM, + tmps, + name, + icon, + FS_INSERT_SORTED | FS_INSERT_NO_VALIDATE); } } |