Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-09-17 06:19:41 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-09-17 06:19:41 +0400
commit3cae9ca04353c33eb940ba2dccefe9b69d9e0ae7 (patch)
tree1ea9aa812c9e6fb239e7650600a038e8b9203ed7 /source/blender/editors/space_file/fsmenu.c
parenta5003727c59859e8e9e2650ce18532ebc5771a88 (diff)
fix [#32564] Entries in recent list (file select dialog) don't get pushed to top if used again
Diffstat (limited to 'source/blender/editors/space_file/fsmenu.c')
-rw-r--r--source/blender/editors/space_file/fsmenu.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/editors/space_file/fsmenu.c b/source/blender/editors/space_file/fsmenu.c
index 474ec81ad93..3877534e1dc 100644
--- a/source/blender/editors/space_file/fsmenu.c
+++ b/source/blender/editors/space_file/fsmenu.c
@@ -164,14 +164,22 @@ void fsmenu_insert_entry(struct FSMenu *fsmenu, FSMenuCategory category, const c
FSMenuEntry *prev;
FSMenuEntry *fsme;
FSMenuEntry *fsms;
+ FSMenuEntry *fsms_first;
fsms = fsmenu_get_category(fsmenu, category);
- prev = fsme = fsms;
+ prev = fsme = fsms_first = fsms;
for (; fsme; prev = fsme, fsme = fsme->next) {
if (fsme->path) {
const int cmp_ret = BLI_path_cmp(path, fsme->path);
if (cmp_ret == 0) {
+ if (FS_INSERT_FIRST) {
+ if (fsme != fsms_first) {
+ prev->next = fsme->next;
+ fsme->next = fsms_first;
+ fsmenu_set_category(fsmenu, category, fsme);
+ }
+ }
return;
}
else if ((flag & FS_INSERT_SORTED) && cmp_ret < 0) {