Index: source/blender/editors/space_file/file_ops.c =================================================================== --- source/blender/editors/space_file/file_ops.c (révision 46726) +++ source/blender/editors/space_file/file_ops.c (copie de travail) @@ -820,9 +820,13 @@ static int file_refresh_exec(bContext *C, wmOperator *UNUSED(unused)) { SpaceFile *sfile= CTX_wm_space_file(C); + struct FSMenu* fsmenu = fsmenu_get(); ED_fileselect_clear(C, sfile); + /* refresh system directory menu */ + fsmenu_refresh_system_category(fsmenu); + WM_event_add_notifier(C, NC_SPACE|ND_SPACE_FILE_LIST, NULL); return OPERATOR_FINISHED; Index: source/blender/editors/space_file/fsmenu.h =================================================================== --- source/blender/editors/space_file/fsmenu.h (révision 46726) +++ source/blender/editors/space_file/fsmenu.h (copie de travail) @@ -79,5 +79,8 @@ /** Free's all the memory associated with the fsmenu */ void fsmenu_free (struct FSMenu* fsmenu); + /** Refresh system directory menu */ +void fsmenu_refresh_system_category (struct FSMenu* fsmenu); + #endif Index: source/blender/editors/space_file/space_file.c =================================================================== --- source/blender/editors/space_file/space_file.c (révision 46726) +++ source/blender/editors/space_file/space_file.c (copie de travail) @@ -151,6 +151,9 @@ SpaceFile *sfile= (SpaceFile*)sa->spacedata.first; //printf("file_init\n"); + /* refresh system directory list */ + fsmenu_refresh_system_category(fsmenu_get()); + if (sfile->layout) sfile->layout->dirty= TRUE; } Index: source/blender/editors/space_file/fsmenu.c =================================================================== --- source/blender/editors/space_file/fsmenu.c (révision 46726) +++ source/blender/editors/space_file/fsmenu.c (copie de travail) @@ -537,6 +537,17 @@ } } +void fsmenu_refresh_system_category(struct FSMenu *fsmenu) +{ + FSMenuEntry *fsme = NULL; + + fsmenu_free_category(fsmenu, FS_CATEGORY_SYSTEM); + fsmenu_set_category(fsmenu, FS_CATEGORY_SYSTEM, fsme); + + /* Add all entries to system category */ + fsmenu_read_system(fsmenu); +} + void fsmenu_free(struct FSMenu *fsmenu) { fsmenu_free_category(fsmenu, FS_CATEGORY_SYSTEM);