Bug 422820

Summary: You are prompted with "The output has been modified. If you continue your changes will be lost" multiple times
Product: [Applications] kdiff3 Reporter: Gert Lynge <kde.org>
Component: applicationAssignee: michael <reeves.87>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version First Reported In: 1.8.x   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In: 1.10.6
Sentry Crash Report:

Description Gert Lynge 2020-06-11 14:30:48 UTC
SUMMARY
When doing directory 3-way-merge with multiple files (same names) and a new file is opened and the "Choose C everywhere" function is used, you are prompted with "The output has been modified. If you continue your changes will be lost" multiple times (a lot - maybe once per file you have already merged or maybe once per change? I don't know, but it seems to be more and more times as you move on).

STEPS TO REPRODUCE
1. Do a 3-way-merge with 3 directories with multiple files with the same names
2. Open the first set of files, use "Choose C everywhere". Save
3. Repeat 2 with next file and so on

OBSERVED RESULT
You are prompted with "The output has been modified. If you continue your changes will be lost" multiple times just after using "Choose C everywhere".

EXPECTED RESULT
You should only be asked once.

SOFTWARE/OS VERSIONS
Windows: 10 Pro 1909. Build 18363.900
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
It would ALSO be nice is there were an option to disable the prompt completely.
Comment 1 michael 2020-06-13 01:11:11 UTC
Seems to be a design oversight. The code handling this doesn't consider what happens during a directory compare with multiple files. Just had a quick glance tonight to confirm the issue.
Comment 2 Gert Lynge 2020-06-13 14:32:02 UTC
Thanks for your support of this great tool :-)
Comment 3 michael 2023-09-02 01:18:20 UTC
Git commit 9536120f0396c597980a2e13c8e9111de9c6e0eb by Michael Reeves.
Committed on 02/09/2023 at 03:14.
Pushed by mreeves into branch 'master'.

Insure MergeResultWindow::connectActions is only called once
FIXED-IN:1.10.6

M  +13   -9    src/mergeresultwindow.cpp

https://invent.kde.org/sdk/kdiff3/-/commit/9536120f0396c597980a2e13c8e9111de9c6e0eb
Comment 4 michael 2023-09-02 01:18:48 UTC
Git commit aa9e782c58cae3ada688f3f1d3eafbb2eef13bf2 by Michael Reeves.
Committed on 02/09/2023 at 03:16.
Pushed by mreeves into branch '1.10'.

Insure MergeResultWindow::connectActions is only called once
FIXED-IN:1.10.6

M  +13   -9    src/mergeresultwindow.cpp

https://invent.kde.org/sdk/kdiff3/-/commit/aa9e782c58cae3ada688f3f1d3eafbb2eef13bf2