kdiff3: update to 1.8.2

Change log (which may be incomplete):
Version 1.8.2 - 2020-03-29
===========================
Bug 411472 Allowing editing of blank lines and don't mark newly intserted lines as a confilict
2ba20222 - Remove broken attempt to optimize drawing on horizonal scroll.
Bug 418813 - Fix line numbers not shown. Use QString::number directly not through a format string.
11e93232 - Correcly support "Print Current Page"
64804a64 - Don't attempt to free nullptr in SourceData::FileData::reset()
f4c66ace - Make Preferance dialog panes scrollable if too large to fit on screen.
de06e561 - Fix dialog filter on windows.
e8d06774 - Switch to QElapsedTime for timing avoids explictly undefined behavior inside qt if time is changed.
05e2d6fb - Fix sync mode.
f9bd88a1 - Make matching in CvsIngnoreList always honor bCaseSensitive setting.
418ea78c - Don't use temporary with QLatin1String constructor strange things will happen.
b058c060 - ignore over size cvsignore files
Bug 410962 - Fix '-L' parameter handling
b4b2c970 - Restore acciedently deleted --auto option
Bug 411602 - Fixing missing menu items also resolves a potiential crash in MergeResultWindow::slotUpdateAvailabilities (Bug 407745).
d4239b92 - Prevent intermient crash during reload/refresh
Bug 410008 - Show diff for empty/missing files.
3bb755c5 - Don't give false error when comparing empty folders
Bug 408991 - 4ad69790,0737cc3e,0402f84a - Close files when not in use - Fixes "Too many open files" bug.
Bug 407829 - Avoid crash when recieving mouse or key events during earily startup.
cc6d76e3 - Don't try to manually build url if parent is not set.
85052379 - Fix crash when canceling by using only one event loop in ProgressDialog.
d151f151 - Don't append to already complete url.
d3cb2def - Fix manual url building in FileAccess::setFromUdsEntry  - scheme should not change now.
Bug 405918 - Fix craft install instructions for windows
Bug 411586 - Fix crash in OptionDialog::slotApply()
Bug 407745 - Fix crash in MergeResultWindow::slotUpdateAvailabilities
Bug 407894,399070 - Fixed redraw for horizonal scrolling.
This commit is contained in:
gutteridge 2020-06-19 17:39:54 +00:00
parent c7a3f5f76d
commit 3ad3521a1d
10 changed files with 25 additions and 363 deletions

View file

@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.65 2020/06/02 08:23:38 adam Exp $
# $NetBSD: Makefile,v 1.66 2020/06/19 17:39:54 gutteridge Exp $
VERSION= 1.8.1
PKGREVISION= 7
VERSION= 1.8.2
DISTNAME= kdiff3-${VERSION}
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_KDE:=kdiff3/}
@ -18,7 +17,7 @@ USE_LANGUAGES= c c++
BUILDLINK_TRANSFORM+= rm:-Wl,--fatal-warnings
BUILD_DEPENDS+= extra-cmake-modules>=5.10.0:../../devel/extra-cmake-modules
TOOLS_DEPENDS.cmake= cmake>=3.0:../../devel/cmake
TOOLS_DEPENDS.cmake= cmake>=3.1:../../devel/cmake
.include "../../devel/gettext-lib/buildlink3.mk"
BUILDLINK_API_DEPENDS.kcoreaddons+= kcoreaddons>=5.61.0

View file

@ -1,13 +1,22 @@
@comment $NetBSD: PLIST,v 1.5 2019/11/03 02:19:16 gutteridge Exp $
@comment $NetBSD: PLIST,v 1.6 2020/06/19 17:39:54 gutteridge Exp $
bin/kdiff3
lib/plugins/kf5/kfileitemaction/kdiff3fileitemaction.so
lib/plugins/kf5/parts/kdiff3part.so
man/ca/man1/kdiff3.1
man/de/man1/kdiff3.1
man/es/man1/kdiff3.1
man/it/man1/kdiff3.1
man/man1/kdiff3.1
man/nl/man1/kdiff3.1
man/sv/man1/kdiff3.1
man/uk/man1/kdiff3.1
share/applications/org.kde.kdiff3.desktop
share/doc/HTML/ca/kdiff3/index.cache.bz2
share/doc/HTML/ca/kdiff3/index.docbook
share/doc/HTML/ca/kdiff3/letter_by_letter.png
share/doc/HTML/ca/kdiff3/open_dialog.png
share/doc/HTML/de/kdiff3/index.cache.bz2
share/doc/HTML/de/kdiff3/index.docbook
share/doc/HTML/en/kdiff3/dirbrowser.png
share/doc/HTML/en/kdiff3/dirmergebig.png
share/doc/HTML/en/kdiff3/index.cache.bz2
@ -21,10 +30,14 @@ share/doc/HTML/en/kdiff3/screenshot_diff.png
share/doc/HTML/en/kdiff3/screenshot_merge.png
share/doc/HTML/en/kdiff3/triple_diff.png
share/doc/HTML/en/kdiff3/white_space.png
share/doc/HTML/es/kdiff3/index.cache.bz2
share/doc/HTML/es/kdiff3/index.docbook
share/doc/HTML/it/kdiff3/index.cache.bz2
share/doc/HTML/it/kdiff3/index.docbook
share/doc/HTML/nl/kdiff3/index.cache.bz2
share/doc/HTML/nl/kdiff3/index.docbook
share/doc/HTML/sv/kdiff3/index.cache.bz2
share/doc/HTML/sv/kdiff3/index.docbook
share/doc/HTML/uk/kdiff3/index.cache.bz2
share/doc/HTML/uk/kdiff3/index.docbook
share/icons/hicolor/128x128/apps/kdiff3.png
@ -86,6 +99,9 @@ share/locale/hne/LC_MESSAGES/kdiff3.mo
share/locale/hr/LC_MESSAGES/kdiff3.mo
share/locale/hu/LC_MESSAGES/kdiff3.mo
share/locale/hu/LC_MESSAGES/kdiff3fileitemactionplugin.mo
share/locale/ia/LC_MESSAGES/diff_ext.mo
share/locale/ia/LC_MESSAGES/kdiff3.mo
share/locale/ia/LC_MESSAGES/kdiff3fileitemactionplugin.mo
share/locale/is/LC_MESSAGES/kdiff3.mo
share/locale/it/LC_MESSAGES/diff_ext.mo
share/locale/it/LC_MESSAGES/kdiff3.mo

View file

@ -1,13 +1,6 @@
$NetBSD: distinfo,v 1.9 2020/01/16 02:37:30 gutteridge Exp $
$NetBSD: distinfo,v 1.10 2020/06/19 17:39:54 gutteridge Exp $
SHA1 (kdiff3-1.8.1.tar.xz) = cfb63e7fb8ef81e9ebc0ae47d6922f25a32a1ef9
RMD160 (kdiff3-1.8.1.tar.xz) = b5076a50461f3612071aa08732c1d7c3b5ec5d8b
SHA512 (kdiff3-1.8.1.tar.xz) = 09cddac0f3adffa91f1986dfb50982deb1c6a31c232215da8a2a396d7525b4d28ef6d3febdcd4ba89cf9f6371a7b34441ef4e10aa0e3468fadf95fb7f78d7720
Size (kdiff3-1.8.1.tar.xz) = 897692 bytes
SHA1 (patch-src_directorymergewindow.cpp) = a2b429584e30467501ccadbc9266ffbf05250900
SHA1 (patch-src_guiutils.h) = 82bb9629ce73057beb5e81cac031ef9b881d90ab
SHA1 (patch-src_kdiff3.cpp) = d5c497d02064f716ea8a26521061605477fd9272
SHA1 (patch-src_mergeresultwindow.cpp) = c7da5bcc2f9834a48e1fdd90d070295c6dc62332
SHA1 (patch-src_mergeresultwindow.h) = 22412d26ff9879abd4759387fbd3fd195593b028
SHA1 (patch-src_pdiff.cpp) = d88157d208116c63cbd7cc85b96a2717bd675a80
SHA1 (patch-src_smalldialogs.cpp) = d189a1631ba5bed1d794babb11764eff40efcf07
SHA1 (kdiff3-1.8.2.tar.xz) = a0ade8bc56ec4a01ef0a42ad08a165914986cd61
RMD160 (kdiff3-1.8.2.tar.xz) = 953f3b6e3cc8cbd0b8a31e7142e044a1c64a36bc
SHA512 (kdiff3-1.8.2.tar.xz) = c52dea38b8fa483344a840fb0f6eab04fdeb2dfc5f2a554f9fc095ed175c45f4c355fe7f04dceca4446ac483a1e97db2a296b947fb99315fc388a45e6298d7f0
Size (kdiff3-1.8.2.tar.xz) = 1039304 bytes

View file

@ -1,52 +0,0 @@
$NetBSD: patch-src_directorymergewindow.cpp,v 1.1 2020/01/16 02:37:30 gutteridge Exp $
kdiff3 fails to close files properly leading to stability and speed issues.
Patches via Fedora:
https://src.fedoraproject.org/rpms/kdiff3/c/8a700c10780b157e681637404e97718f5ba0cff2
https://src.fedoraproject.org/rpms/kdiff3/c/bc38b46ef5c96b2b7800e1195b3895527bceea65
--- src/directorymergewindow.cpp.orig 2019-05-18 01:01:30.000000000 +0000
+++ src/directorymergewindow.cpp
@@ -741,6 +741,7 @@ bool DirectoryMergeWindow::DirectoryMerg
if(!fi2.open(QIODevice::ReadOnly))
{
+ fi1.close();
status = fi2.errorString();
return bEqual;
}
@@ -758,17 +759,23 @@ bool DirectoryMergeWindow::DirectoryMerg
if(len != fi1.read(&buf1[0], len))
{
status = fi1.errorString();
+ fi1.close();
+ fi2.close();
return bEqual;
}
if(len != fi2.read(&buf2[0], len))
{
- status = fi2.errorString();;
+ status = fi2.errorString();
+ fi1.close();
+ fi2.close();
return bEqual;
}
if(memcmp(&buf1[0], &buf2[0], len) != 0)
{
+ fi1.close();
+ fi2.close();
bError = false;
return bEqual;
}
@@ -780,6 +787,9 @@ bool DirectoryMergeWindow::DirectoryMerg
// If the program really arrives here, then the files are really equal.
bError = false;
bEqual = true;
+
+ fi1.close();
+ fi2.close();
return bEqual;
}

View file

@ -1,106 +0,0 @@
$NetBSD: patch-src_guiutils.h,v 1.1 2020/01/16 02:37:30 gutteridge Exp $
Fix missing menu items. Patch via Fedora:
https://src.fedoraproject.org/rpms/kdiff3/c/bc38b46ef5c96b2b7800e1195b3895527bceea65
--- src/guiutils.h.orig 2019-05-18 01:01:30.000000000 +0000
+++ src/guiutils.h
@@ -129,6 +129,98 @@ namespace GuiUtils {
theAction->setIconText( iconText );
return theAction;
}
+
+
+ //Allow actions to be created without connecting them immediately.
+
+ template <class T>
+ inline typename std::enable_if<std::is_same<T, QAction>::value, QAction>::type* createAction(
+ const QString& text,
+ KActionCollection* ac,
+ const QString& actionName)
+ {
+ Q_ASSERT(ac != nullptr);
+ QAction* theAction;
+
+ theAction = ac->addAction(actionName);
+ theAction->setText(text);
+
+ return theAction;
+ }
+
+ template <class T>
+ inline typename std::enable_if<std::is_same<T, KToggleAction>::value, KToggleAction>::type* createAction(
+ const QString& text,
+ KActionCollection* ac,
+ const QString &actionName) {
+ Q_ASSERT( ac != nullptr );
+ KToggleAction* theAction = new KToggleAction(ac);
+ ac->addAction( actionName, theAction );
+ theAction->setText( text );
+ return theAction;
+ }
+
+ template <class T>
+ T* createAction(
+ const QString& text,
+ const QKeySequence& shortcut,
+ KActionCollection* ac,
+ const QString &actionName)
+ {
+ T* theAction = createAction<T>( text, ac, actionName );
+ ac->setDefaultShortcut(theAction, shortcut);
+ return theAction;
+ }
+ template <class T>
+ T* createAction(
+ const QString& text,
+ const QIcon& icon,
+ KActionCollection* ac,
+ const QString &actionName)
+ {
+ T* theAction = createAction<T>( text, ac, actionName );
+ theAction->setIcon( icon );
+ return theAction;
+ }
+ template <class T>
+ T* createAction(
+ const QString& text,
+ const QIcon& icon,
+ const QString& iconText,
+ KActionCollection* ac,
+ const QString &actionName)
+ {
+ T* theAction = createAction<T>( text, ac, actionName );
+ theAction->setIcon( icon );
+ theAction->setIconText( iconText );
+ return theAction;
+ }
+ template <class T>
+ T* createAction(
+ const QString& text,
+ const QIcon& icon,
+ const QKeySequence& shortcut,
+ KActionCollection* ac,
+ const QString &actionName)
+ {
+ T* theAction = createAction<T>( text, shortcut, ac, actionName );
+ theAction->setIcon( icon );
+ return theAction;
+ }
+ template <class T>
+ T* createAction(
+ const QString& text,
+ const QIcon& icon,
+ const QString& iconText,
+ const QKeySequence& shortcut,
+ KActionCollection* ac,
+ const QString &actionName)
+ {
+ T* theAction = createAction<T>( text, shortcut, ac, actionName );
+ theAction->setIcon( icon );
+ theAction->setIconText( iconText );
+ return theAction;
+ }
}
#endif

View file

@ -1,16 +0,0 @@
$NetBSD: patch-src_kdiff3.cpp,v 1.1 2020/01/16 02:37:30 gutteridge Exp $
Fix missing menu items. Patch via Fedora:
https://src.fedoraproject.org/rpms/kdiff3/c/bc38b46ef5c96b2b7800e1195b3895527bceea65
--- src/kdiff3.cpp.orig 2019-05-18 01:01:30.000000000 +0000
+++ src/kdiff3.cpp
@@ -312,6 +312,8 @@ KDiff3App::KDiff3App(QWidget* pParent, c
///////////////////////////////////////////////////////////////////
// call inits to invoke all other construction parts
initActions(actionCollection());
+ MergeResultWindow::initActions(actionCollection());
+
initStatusBar();
m_pFindDialog = new FindDialog(this);

View file

@ -1,73 +0,0 @@
$NetBSD: patch-src_mergeresultwindow.cpp,v 1.1 2020/01/16 02:37:30 gutteridge Exp $
Fix missing menu items. Patch via Fedora:
https://src.fedoraproject.org/rpms/kdiff3/c/bc38b46ef5c96b2b7800e1195b3895527bceea65
--- src/mergeresultwindow.cpp.orig 2019-05-18 01:01:30.000000000 +0000
+++ src/mergeresultwindow.cpp
@@ -55,6 +55,16 @@ int g_bAutoSolve = true;
#undef leftInfoWidth
+QAction* MergeResultWindow::chooseAEverywhere = nullptr;
+QAction* MergeResultWindow::chooseBEverywhere = nullptr;
+QAction* MergeResultWindow::chooseCEverywhere = nullptr;
+QAction* MergeResultWindow::chooseAForUnsolvedConflicts = nullptr;
+QAction* MergeResultWindow::chooseBForUnsolvedConflicts = nullptr;
+QAction* MergeResultWindow::chooseCForUnsolvedConflicts = nullptr;
+QAction* MergeResultWindow::chooseAForUnsolvedWhiteSpaceConflicts = nullptr;
+QAction* MergeResultWindow::chooseBForUnsolvedWhiteSpaceConflicts = nullptr;
+QAction* MergeResultWindow::chooseCForUnsolvedWhiteSpaceConflicts = nullptr;
+
MergeResultWindow::MergeResultWindow(
QWidget* pParent,
Options* pOptions,
@@ -148,6 +158,8 @@ void MergeResultWindow::init(
showUnsolvedConflictsStatusMessage();
}
+//This must be called before KXMLGui::SetXMLFile and friends or the actions will not be shown in the menu.
+//At that point in startup we don't have a MergeResultWindow object so we cannot connect the signals yet.
void MergeResultWindow::initActions(KActionCollection* ac)
{
if(ac == nullptr){
@@ -155,15 +167,30 @@ void MergeResultWindow::initActions(KAct
exit(-1);//we cannot recover from this.
}
- chooseAEverywhere = GuiUtils::createAction<QAction>(i18n("Choose A Everywhere"), QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_1), this, &MergeResultWindow::slotChooseAEverywhere, ac, "merge_choose_a_everywhere");
- chooseBEverywhere = GuiUtils::createAction<QAction>(i18n("Choose B Everywhere"), QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_2), this, &MergeResultWindow::slotChooseBEverywhere, ac, "merge_choose_b_everywhere");
- chooseCEverywhere = GuiUtils::createAction<QAction>(i18n("Choose C Everywhere"), QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_3), this, &MergeResultWindow::slotChooseCEverywhere, ac, "merge_choose_c_everywhere");
- chooseAForUnsolvedConflicts = GuiUtils::createAction<QAction>(i18n("Choose A for All Unsolved Conflicts"), this, &MergeResultWindow::slotChooseAForUnsolvedConflicts, ac, "merge_choose_a_for_unsolved_conflicts");
- chooseBForUnsolvedConflicts = GuiUtils::createAction<QAction>(i18n("Choose B for All Unsolved Conflicts"), this, &MergeResultWindow::slotChooseBForUnsolvedConflicts, ac, "merge_choose_b_for_unsolved_conflicts");
- chooseCForUnsolvedConflicts = GuiUtils::createAction<QAction>(i18n("Choose C for All Unsolved Conflicts"), this, &MergeResultWindow::slotChooseCForUnsolvedConflicts, ac, "merge_choose_c_for_unsolved_conflicts");
- chooseAForUnsolvedWhiteSpaceConflicts = GuiUtils::createAction<QAction>(i18n("Choose A for All Unsolved Whitespace Conflicts"), this, &MergeResultWindow::slotChooseAForUnsolvedWhiteSpaceConflicts, ac, "merge_choose_a_for_unsolved_whitespace_conflicts");
- chooseBForUnsolvedWhiteSpaceConflicts = GuiUtils::createAction<QAction>(i18n("Choose B for All Unsolved Whitespace Conflicts"), this, &MergeResultWindow::slotChooseBForUnsolvedWhiteSpaceConflicts, ac, "merge_choose_b_for_unsolved_whitespace_conflicts");
- chooseCForUnsolvedWhiteSpaceConflicts = GuiUtils::createAction<QAction>(i18n("Choose C for All Unsolved Whitespace Conflicts"), this, &MergeResultWindow::slotChooseCForUnsolvedWhiteSpaceConflicts, ac, "merge_choose_c_for_unsolved_whitespace_conflicts");
+ chooseAEverywhere = GuiUtils::createAction<QAction>(i18n("Choose A Everywhere"), QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_1), ac, "merge_choose_a_everywhere");
+ chooseBEverywhere = GuiUtils::createAction<QAction>(i18n("Choose B Everywhere"), QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_2), ac, "merge_choose_b_everywhere");
+ chooseCEverywhere = GuiUtils::createAction<QAction>(i18n("Choose C Everywhere"), QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_3), ac, "merge_choose_c_everywhere");
+ chooseAForUnsolvedConflicts = GuiUtils::createAction<QAction>(i18n("Choose A for All Unsolved Conflicts"), ac, "merge_choose_a_for_unsolved_conflicts");
+ chooseBForUnsolvedConflicts = GuiUtils::createAction<QAction>(i18n("Choose B for All Unsolved Conflicts"), ac, "merge_choose_b_for_unsolved_conflicts");
+ chooseCForUnsolvedConflicts = GuiUtils::createAction<QAction>(i18n("Choose C for All Unsolved Conflicts"), ac, "merge_choose_c_for_unsolved_conflicts");
+ chooseAForUnsolvedWhiteSpaceConflicts = GuiUtils::createAction<QAction>(i18n("Choose A for All Unsolved Whitespace Conflicts"), ac, "merge_choose_a_for_unsolved_whitespace_conflicts");
+ chooseBForUnsolvedWhiteSpaceConflicts = GuiUtils::createAction<QAction>(i18n("Choose B for All Unsolved Whitespace Conflicts"), ac, "merge_choose_b_for_unsolved_whitespace_conflicts");
+ chooseCForUnsolvedWhiteSpaceConflicts = GuiUtils::createAction<QAction>(i18n("Choose C for All Unsolved Whitespace Conflicts"), ac, "merge_choose_c_for_unsolved_whitespace_conflicts");
+}
+
+void MergeResultWindow::connectActions()
+{
+ QObject::connect(chooseAEverywhere, &QAction::triggered, this, &MergeResultWindow::slotChooseAEverywhere);
+ QObject::connect(chooseBEverywhere, &QAction::triggered, this, &MergeResultWindow::slotChooseBEverywhere);
+ QObject::connect(chooseCEverywhere, &QAction::triggered, this, &MergeResultWindow::slotChooseCEverywhere);
+
+ QObject::connect(chooseAForUnsolvedConflicts, &QAction::triggered, this, &MergeResultWindow::slotChooseAForUnsolvedConflicts);
+ QObject::connect(chooseBForUnsolvedConflicts, &QAction::triggered, this, &MergeResultWindow::slotChooseBForUnsolvedConflicts);
+ QObject::connect(chooseCForUnsolvedConflicts, &QAction::triggered, this, &MergeResultWindow::slotChooseCForUnsolvedConflicts);
+
+ QObject::connect(chooseAForUnsolvedWhiteSpaceConflicts, &QAction::triggered, this, &MergeResultWindow::slotChooseAForUnsolvedWhiteSpaceConflicts);
+ QObject::connect(chooseBForUnsolvedWhiteSpaceConflicts, &QAction::triggered, this, &MergeResultWindow::slotChooseBForUnsolvedWhiteSpaceConflicts);
+ QObject::connect(chooseCForUnsolvedWhiteSpaceConflicts, &QAction::triggered, this, &MergeResultWindow::slotChooseCForUnsolvedWhiteSpaceConflicts);
}
void MergeResultWindow::showUnsolvedConflictsStatusMessage()

View file

@ -1,53 +0,0 @@
$NetBSD: patch-src_mergeresultwindow.h,v 1.1 2020/01/16 02:37:30 gutteridge Exp $
Fix intermittent crashes. Patch via Fedora:
https://src.fedoraproject.org/rpms/kdiff3/c/8a700c10780b157e681637404e97718f5ba0cff2
Fix missing menu items. Patch via Fedora:
https://src.fedoraproject.org/rpms/kdiff3/c/bc38b46ef5c96b2b7800e1195b3895527bceea65
--- src/mergeresultwindow.h.orig 2019-05-18 01:01:30.000000000 +0000
+++ src/mergeresultwindow.h
@@ -40,7 +40,16 @@ public:
const Diff3LineList* pDiff3LineList,
TotalDiffStatus* pTotalDiffStatus
);
- void initActions(KActionCollection* ac);
+
+ inline void clearMergeList()
+ {
+ m_mergeLineList.clear();
+ m_totalSize = 0;
+ }
+
+ static void initActions(KActionCollection* ac);
+
+ void connectActions();
void reset();
bool saveDocument( const QString& fileName, QTextCodec* pEncoding, e_LineEndStyle eLineEndStyle );
@@ -119,15 +128,15 @@ private:
void merge(bool bAutoSolve, e_SrcSelector defaultSelector, bool bConflictsOnly=false, bool bWhiteSpaceOnly=false );
QString getString( int lineIdx );
- QAction* chooseAEverywhere = nullptr;
- QAction* chooseBEverywhere = nullptr;
- QAction* chooseCEverywhere = nullptr;
- QAction* chooseAForUnsolvedConflicts = nullptr;
- QAction* chooseBForUnsolvedConflicts = nullptr;
- QAction* chooseCForUnsolvedConflicts = nullptr;
- QAction* chooseAForUnsolvedWhiteSpaceConflicts = nullptr;
- QAction* chooseBForUnsolvedWhiteSpaceConflicts = nullptr;
- QAction* chooseCForUnsolvedWhiteSpaceConflicts = nullptr;
+ static QAction* chooseAEverywhere;
+ static QAction* chooseBEverywhere;
+ static QAction* chooseCEverywhere;
+ static QAction* chooseAForUnsolvedConflicts;
+ static QAction* chooseBForUnsolvedConflicts;
+ static QAction* chooseCForUnsolvedConflicts;
+ static QAction* chooseAForUnsolvedWhiteSpaceConflicts;
+ static QAction* chooseBForUnsolvedWhiteSpaceConflicts;
+ static QAction* chooseCForUnsolvedWhiteSpaceConflicts;
Options* m_pOptions = nullptr;

View file

@ -1,28 +0,0 @@
$NetBSD: patch-src_pdiff.cpp,v 1.1 2020/01/16 02:37:30 gutteridge Exp $
Fix intermittent crashes. Patch via Fedora:
https://src.fedoraproject.org/rpms/kdiff3/c/8a700c10780b157e681637404e97718f5ba0cff2
Fix missing menu items. Patch via Fedora:
https://src.fedoraproject.org/rpms/kdiff3/c/bc38b46ef5c96b2b7800e1195b3895527bceea65
--- src/pdiff.cpp.orig 2019-05-18 01:01:30.000000000 +0000
+++ src/pdiff.cpp
@@ -142,6 +142,8 @@ void KDiff3App::mainInit(TotalDiffStatus
// so painting must be suppressed
if(bGUI) setLockPainting(true);
+ //ensure merge result window never has stale iterators.
+ if(m_pMergeResultWindow) m_pMergeResultWindow->clearMergeList();
m_diff3LineList.clear();
m_diff3LineVector.clear();
@@ -338,7 +340,7 @@ void KDiff3App::mainInit(TotalDiffStatus
oldHeights = m_pMainSplitter->sizes();
initView();
- m_pMergeResultWindow->initActions(actionCollection());
+ m_pMergeResultWindow->connectActions();
if(m_pDirectoryMergeSplitter->isVisible())
{

View file

@ -1,18 +0,0 @@
$NetBSD: patch-src_smalldialogs.cpp,v 1.1 2019/11/03 04:01:32 gutteridge Exp $
Fix the file dialog list in the "small dialog window", taken from:
https://github.com/KDE/kdiff3/commit/fa6d0d8a0505a7e7cf4b0d743b1a222f3a9940ce
--- src/smalldialogs.cpp.orig 2019-05-18 01:01:30.000000000 +0000
+++ src/smalldialogs.cpp
@@ -231,8 +231,8 @@ void OpenDialog::selectURL(QComboBox* pL
currentUrl = QUrl::fromUserInput(current, QString(), QUrl::AssumeLocalFile);
QUrl newURL = bDir ? QFileDialog::getExistingDirectoryUrl(this, i18n("Open Directory"), currentUrl)
- : bSave ? QFileDialog::getSaveFileUrl(this, i18n("Select Output File"), currentUrl, QLatin1Literal("all/allfiles"))
- : QFileDialog::getOpenFileUrl(this, i18n("Open File"), currentUrl, QLatin1Literal("all/allfiles"));
+ : bSave ? QFileDialog::getSaveFileUrl(this, i18n("Select Output File"), currentUrl, i18n("All files (*)"))
+ : QFileDialog::getOpenFileUrl(this, i18n("Open File"), currentUrl, i18n("All files (*)"));
if(!newURL.isEmpty()) {
/*
Since we are selecting a directory open in the parent directory