Bug 411602

Summary: Missing menu item for choose a file for all unsolved whitespace conflicts in 1.8
Product: [Applications] kdiff3 Reporter: Turtle <turtle>
Component: applicationAssignee: michael <reeves.87>
Status: RESOLVED FIXED    
Severity: normal CC: lingwangneuraleng
Priority: NOR    
Version: 1.8.x   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In: 1.8.2
Attachments: Restores ability to choose a file for all unsolved whitespace conflicts

Description Turtle 2019-09-05 04:23:22 UTC
Created attachment 122494 [details]
Restores ability to choose a file for all unsolved whitespace conflicts

SUMMARY 1.8.1 (64 bit) Dropped support for choosing [A-C] for unsolved whitespace conflicts


STEPS TO REPRODUCE
1. Install Version 0.9.98, merge some files with whitespace conflicts, you can choose A B or C from the 'Merge' menu
2. Install 1.8.1 the choice is gone from the 'Merge' menu


OBSERVED RESULT
Unable to choose a file for all unsolved whitespace conflicts

EXPECTED RESULT
Same functions as 0.9.98, Should have a Merge menu option to chose A-C for all unsolved conflicts and all unsolved whitespace conflicts.


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 5.60.0
Qt Version: 5.12.3

ADDITIONAL INFORMATION

Attached patch putting functionality back in.
I am currently running the patch in Gentoo and it works.
Note: you might need to clean up the whitespace in the patch.
Comment 1 michael 2019-09-13 15:13:08 UTC
Thanks for the patch the code you identified was moved to a new location. The functionality should not have been affected so I will look into that aspect.
Comment 2 michael 2019-09-16 00:14:02 UTC
Git commit 1c86432a9a72c9fbf193d97035255e3a1b6cac09 by Michael Reeves.
Committed on 16/09/2019 at 00:02.
Pushed by mreeves into branch 'master'.

Fix missing menu items.

Make sure all menu related actions are created before calling  KXMLGUIClient::setXMLFile.
The actual signal connections can happen later.

Perfer having MergeResultWindow handle the creation and connection
of merge related actions that depend on it to function. Avoids potential
nullptr issue if one is triggered unexpectedly early in startup.  This also
improves readability KDiff3App is quite large even without this and would
just have small wrapper functions for these actions.

Thanks turtle@think-electric.com for spotting the bug.
FIXED-IN: 1.8.2

M  +92   -0    src/guiutils.h
M  +2    -0    src/kdiff3.cpp
M  +36   -9    src/mergeresultwindow.cpp
M  +12   -10   src/mergeresultwindow.h
M  +1    -1    src/pdiff.cpp

https://invent.kde.org/kde/kdiff3/commit/1c86432a9a72c9fbf193d97035255e3a1b6cac09
Comment 3 michael 2019-09-16 00:17:06 UTC
Git commit 3828f2e7211b8b1441cc5fd53ebdf268ab477c68 by Michael Reeves.
Committed on 15/09/2019 at 18:57.
Pushed by mreeves into branch '1.8'.

Fix missing menu items.

Make sure all menu related actions are created before calling  KXMLGUIClient::setXMLFile.
The actual signal connections can happen later.

Perfer having MergeResultWindow handle the creation and connection
of merge related actions that depend on it to function. Avoids potential
nullptr issue if one is triggered unexpectedly early in startup.  This also
improves readability KDiff3App is quite large even without this and would
just have small wrapper functions for these actions.

Thanks turtle@think-electric.com for spotting the bug.
FIXED-IN: 1.8.2

M  +92   -0    src/guiutils.h
M  +2    -0    src/kdiff3.cpp
M  +36   -9    src/mergeresultwindow.cpp
M  +12   -10   src/mergeresultwindow.h
M  +1    -1    src/pdiff.cpp

https://invent.kde.org/kde/kdiff3/commit/3828f2e7211b8b1441cc5fd53ebdf268ab477c68
Comment 4 michael 2020-07-24 19:53:34 UTC
*** Bug 423249 has been marked as a duplicate of this bug. ***