mirror of
https://github.com/MidnightCommander/mc
synced 2024-12-22 12:32:40 +03:00
Ticket: 3908: quiet single file overwrite.
If target file exists, MC overwrites that file without confirmation. The bug was introduced in #3149. How to reproduce: 1. Create two files: `touch a aa`. 2. Stay on "aa". 3. Make sure that Options/Confirmation.../Overwrite option is checked on. 4. Press Shift-F6 5. Edit the "to:" value to "a" ("a" file exists) and press Enter. Actual result: The "a" file is overwritten w/o confirmation. Expected result: Since the "a" file exists the confirmation dialog must be shown. The problem is: confirmation dialog requires context UI which was not created in case of single file rename operation. Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
This commit is contained in:
parent
b7ead57e0b
commit
7d73ce1cbe
@ -716,6 +716,9 @@ panel_operate_init_totals (const WPanel * panel, const vfs_path_t * source,
|
||||
ctx->progress_totals_computed = FALSE;
|
||||
}
|
||||
|
||||
/* destroy already created UI for single file rename operation */
|
||||
file_op_context_destroy_ui (ctx);
|
||||
|
||||
file_op_context_create_ui (ctx, TRUE, dialog_type);
|
||||
|
||||
return status;
|
||||
@ -1948,7 +1951,14 @@ operate_single_file (const WPanel * panel, FileOperation operation, file_op_tota
|
||||
|
||||
case OP_MOVE:
|
||||
if (is_file)
|
||||
{
|
||||
#ifdef ENABLE_BACKGROUND
|
||||
/* create UI to show confirmation dialog */
|
||||
if (!mc_global.we_are_background)
|
||||
file_op_context_create_ui (ctx, TRUE, FILEGUI_DIALOG_ONE_ITEM);
|
||||
#endif
|
||||
value = move_file_file (panel, tctx, ctx, src, dest);
|
||||
}
|
||||
else
|
||||
value = do_move_dir_dir (panel, tctx, ctx, src, dest);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user