- Fix saving output with -o when using relative paths

PR:		190158
Submitted by:	emaste
Approved by:	luca.pizzamiglio@gmail.com  (maintainer)
Obtained from:	23ad423e42/
MFH:		2014Q2
This commit is contained in:
Bryan Drewery 2014-06-05 17:50:01 +00:00
parent 672e1d48f1
commit 1fbbcd96a1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=356654
3 changed files with 60 additions and 2 deletions

View File

@ -3,8 +3,7 @@
PORTNAME= kdiff3
PORTVERSION= 0.9.97
#PORTREVISION= 0
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= textproc kde
MASTER_SITES= SF

View File

@ -0,0 +1,48 @@
--- ./src-QT4/fileaccess.cpp.orig 2012-08-10 16:51:08.000000000 -0500
+++ ./src-QT4/fileaccess.cpp 2014-06-05 09:45:18.675613156 -0500
@@ -183,7 +183,8 @@
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 @@
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 @@
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 @@
&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()) );

View File

@ -0,0 +1,11 @@
--- ./src-QT4/kdiff3.cpp.orig 2012-07-14 05:27:14.000000000 -0500
+++ ./src-QT4/kdiff3.cpp 2014-06-05 09:45:18.677611475 -0500
@@ -210,6 +210,8 @@
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");