From e0114e8e01312e46f791792c9026f02ffc4e5a5b Mon Sep 17 00:00:00 2001 From: Eike Sauer Date: Sat, 7 May 2016 16:42:00 +0100 Subject: [PATCH] Workaround for differences not showing in status bar (#757206) and fixes crash I had when testing this Origin: eike@debian.org Gbp-Pq: Name crash-and-status-line.patch --- src-QT4/mergeresultwindow.cpp | 6 +++++- src-QT4/mergeresultwindow.h | 1 + src-QT4/pdiff.cpp | 4 +++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src-QT4/mergeresultwindow.cpp b/src-QT4/mergeresultwindow.cpp index e3e30de..42b9745 100644 --- a/src-QT4/mergeresultwindow.cpp +++ b/src-QT4/mergeresultwindow.cpp @@ -145,14 +145,18 @@ void MergeResultWindow::init( g_bAutoSolve = true; update(); updateSourceMask(); + updateStatusBar(); +} +void MergeResultWindow::updateStatusBar() +{ int wsc; int nofUnsolved = getNrOfUnsolvedConflicts(&wsc); if (m_pStatusBar) m_pStatusBar->showMessage( i18n("Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)" ,nofUnsolved,wsc) ); } - + void MergeResultWindow::reset() { m_pDiff3LineList = 0; diff --git a/src-QT4/mergeresultwindow.h b/src-QT4/mergeresultwindow.h index 6da0a88..419ec6a 100644 --- a/src-QT4/mergeresultwindow.h +++ b/src-QT4/mergeresultwindow.h @@ -119,6 +119,7 @@ public: int getNrOfUnsolvedConflicts(int* pNrOfWhiteSpaceConflicts=0); void choose(int selector); void chooseGlobal(int selector, bool bConflictsOnly, bool bWhiteSpaceOnly ); + void updateStatusBar(); int getMaxTextWidth(); // width of longest text line int getNofLines(); diff --git a/src-QT4/pdiff.cpp b/src-QT4/pdiff.cpp index 59492bc..4b79041 100644 --- a/src-QT4/pdiff.cpp +++ b/src-QT4/pdiff.cpp @@ -1732,7 +1732,7 @@ void KDiff3App::slotFinishRecalcWordWrap() m_pOverview->slotRedraw(); if (m_pDiffVScrollBar) m_pDiffVScrollBar->setRange(0, max2(0, m_neededLines + 1 - m_DTWHeight)); - if (m_pDiffTextWindow1) + if (m_pDiffTextWindow1 && m_firstD3LIdx >= 0) { m_pDiffVScrollBar->setValue(m_pDiffTextWindow1->convertDiff3LineIdxToLine(m_firstD3LIdx)); @@ -1749,6 +1749,8 @@ void KDiff3App::slotFinishRecalcWordWrap() } if (m_pEventLoopForPrinting) m_pEventLoopForPrinting->quit(); + + m_pMergeResultWindow->updateStatusBar(); } void KDiff3App::slotShowWhiteSpaceToggled() -- 2.30.2