diff options
author | Yorhel <git@yorhel.nl> | 2010-04-27 17:58:17 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2010-04-27 17:58:17 +0200 |
commit | 79733f7d6451016a3805793a2ca1677a71103b72 (patch) | |
tree | 4cfe26de56ce8c50a7f77113dd10bc30bded9ea4 | |
parent | eed949d48d2cad8225da52feaa6986faa3173f35 (diff) |
Determine which item to select after deletion in browser.c
Rather than the ugly hack in delete.c.
-rw-r--r-- | src/browser.c | 3 | ||||
-rw-r--r-- | src/delete.c | 8 |
2 files changed, 4 insertions, 7 deletions
diff --git a/src/browser.c b/src/browser.c index 9e9ccf6..3d43159 100644 --- a/src/browser.c +++ b/src/browser.c @@ -379,7 +379,8 @@ int browse_key(int ch) { break; info_show = 0; if((t = dirlist_get(1)) == sel) - t = dirlist_get(-1); + if((t = dirlist_get(-1)) == sel || t == dirlist_parent) + t = sel->parent; delete_init(sel, t); break; } diff --git a/src/delete.c b/src/delete.c index cc44d24..b26ef54 100644 --- a/src/delete.c +++ b/src/delete.c @@ -211,9 +211,6 @@ delete_nxt: void delete_process() { - /* determine dir to open after successful delete */ - struct dir *n = root->parent->sub != root ? root->parent->sub : root->next ? root->next : root->parent; - /* confirm */ seloption = 1; while(state == DS_CONFIRM && !noconfirm) @@ -237,9 +234,8 @@ void delete_process() { if(delete_dir(root)) browse_init(root); else { - if(nextsel) - nextsel->flags |= FF_BSEL; - browse_init(n); + nextsel->flags |= FF_BSEL; + browse_init(nextsel); } } |