[packages/kdiff3] - up to 0.9.97 - add upstream patch to fix loading relative file paths

atler atler at pld-linux.org
Wed May 15 23:07:58 CEST 2013


commit 3bb17657bbdea7b1eec55913af40764af27744fa
Author: Jan Palus <jan.palus at gmail.com>
Date:   Wed May 15 23:07:11 2013 +0200

    - up to 0.9.97
    - add upstream patch to fix loading relative file paths

 kdiff3-relative_path.patch | 72 ++++++++++++++++++++++++++++++++++++++++++++++
 kdiff3.spec                |  6 ++--
 2 files changed, 76 insertions(+), 2 deletions(-)
---
diff --git a/kdiff3.spec b/kdiff3.spec
index 8363fb4..653ead9 100644
--- a/kdiff3.spec
+++ b/kdiff3.spec
@@ -4,12 +4,13 @@
 Summary:	kdiff3 - Graphical tool for merging two or three files or directories
 Summary(pl.UTF-8):	kdiff3 - Graficzne narzędzie do łączenia zawartości wielu plików lub katalogów
 Name:		kdiff3
-Version:	0.9.96
+Version:	0.9.97
 Release:	1
 License:	GPL
 Group:		X11/Applications
 Source0:	http://downloads.sourceforge.net/kdiff3/%{name}-%{version}.tar.gz
-# Source0-md5:	46b96befddf3448a3cb673f018c6f6f9
+# Source0-md5:	30a71b474956c369ed7b38c6db080fc4
+Patch0:		%{name}-relative_path.patch
 URL:		http://kdiff3.sourceforge.net/
 BuildRequires:	Qt3Support-devel >= %{qtver}
 BuildRequires:	QtCore-devel >= %{qtver}
@@ -44,6 +45,7 @@ użytkownika i może porównywać i łączyć zawartość katalogów.
 
 %prep
 %setup -q
+%patch0 -p2
 
 %build
 install -d build
diff --git a/kdiff3-relative_path.patch b/kdiff3-relative_path.patch
new file mode 100644
index 0000000..3bca220
--- /dev/null
+++ b/kdiff3-relative_path.patch
@@ -0,0 +1,72 @@
+commit 23ad423e4255c80ee22b269f73e20333f7c06678
+Author: joachim99 <joachim.eibl at gmx.de>
+Date:   Sat Sep 22 23:02:12 2012 +0200
+
+    - Fix for saving files on KDE with relative path specified via
+      command line option -o.
+    
+    Signed-off-by: joachim99 <joachim.eibl at gmx.de>
+
+diff --git a/kdiff3/src-QT4/fileaccess.cpp b/kdiff3/src-QT4/fileaccess.cpp
+index 134fc26..b6e01f0 100644
+--- a/kdiff3/src-QT4/fileaccess.cpp
++++ b/kdiff3/src-QT4/fileaccess.cpp
+@@ -183,7 +183,8 @@ static QString nicePath( const QFileInfo& fi )
+ 
+ void FileAccess::setFile( const QFileInfo& fi, FileAccess* pParent )
+ {
+-   m_filePath   = nicePath( fi.filePath() ); // remove "./" at start   
++   m_filePath   = pParent == 0 ? fi.absoluteFilePath() : 
++                                 nicePath( fi.filePath() ); // remove "./" at start   
+ 
+    m_bSymLink   = fi.isSymLink();
+    if ( m_bSymLink || (!m_bExists  && m_filePath.contains("@@") ) )
+@@ -566,7 +567,16 @@ QString FileAccess::absoluteFilePath() const
+    if ( parent() != 0 )
+       return parent()->absoluteFilePath() + "/" + m_filePath;
+    else
+-      return m_filePath;
++   {
++      if ( m_filePath.isEmpty() )
++	 return QString();
++      
++      QFileInfo fi( m_filePath );
++      if ( fi.isAbsolute() )
++	 return m_filePath;
++      else
++	 return fi.absoluteFilePath(); // Probably never reached
++   }
+ }  // Full abs path
+ 
+ // Just the name-part of the path, without parent directories
+@@ -1184,7 +1194,7 @@ bool FileAccessJobHandler::rename( const QString& dest )
+       m_bSuccess = false;
+       KIO::FileCopyJob* pJob = KIO::file_move( m_pFileAccess->url(), kurl, permissions, KIO::HideProgressInfo );
+       connect( pJob, SIGNAL(result(KJob*)), this, SLOT(slotSimpleJobResult(KJob*)));
+-      connect( pJob, SIGNAL(percent(KJob*,unsigned long)), this, SLOT(slotPercent(KJob*, unsigned long)));
++      connect( pJob, SIGNAL(percent(KJob*,unsigned long)), &pp, SLOT(slotPercent(KJob*, unsigned long)));
+ 
+       ProgressProxy::enterEventLoop( pJob,
+          i18n("Renaming file: %1 -> %2",m_pFileAccess->prettyAbsPath(),dest) );
+@@ -1673,7 +1683,7 @@ bool FileAccessJobHandler::listDir( t_DirectoryList* pDirList, bool bRecursive,
+                   &pp,      SLOT( slotListDirInfoMessage(KJob*, const QString&) ));
+ 
+          // This line makes the transfer via fish unreliable.:-(
+-         //connect( pListJob, SIGNAL(percent(KJob*,unsigned long)), this, SLOT(slotPercent(KJob*, unsigned long)));
++         //connect( pListJob, SIGNAL(percent(KJob*,unsigned long)), &pp, SLOT(slotPercent(KJob*, unsigned long)));
+ 
+          ProgressProxy::enterEventLoop( pListJob,
+             i18n("Listing directory: %1",m_pFileAccess->prettyAbsPath()) );
+diff --git a/kdiff3/src-QT4/kdiff3.cpp b/kdiff3/src-QT4/kdiff3.cpp
+index 165602f..de7cc9c 100644
+--- a/kdiff3/src-QT4/kdiff3.cpp
++++ b/kdiff3/src-QT4/kdiff3.cpp
+@@ -211,6 +211,8 @@ KDiff3App::KDiff3App(QWidget* pParent, const char* /*name*/, KDiff3Part* pKDiff3
+       m_outputFilename = args->getOption("output");
+       if ( m_outputFilename.isEmpty() )
+          m_outputFilename = args->getOption("out");
++      if ( ! m_outputFilename.isEmpty() )
++         m_outputFilename = FileAccess( m_outputFilename, true ).absoluteFilePath();
+    }
+ 
+    m_bAutoFlag = args!=0  && args->isSet("auto");
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kdiff3.git/commitdiff/3bb17657bbdea7b1eec55913af40764af27744fa



More information about the pld-cvs-commit mailing list