Skip to content

Commit cbb6838

Browse files
committedJul 28, 2018
Fix path resolver sometimes returns non empty paths while resolving empty filenames
(cherry-picked from 3e31a65)
1 parent 0f7336e commit cbb6838

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed
 

‎src/core/qgspathresolver.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ QgsPathResolver::QgsPathResolver( const QString &baseFileName )
2828

2929
QString QgsPathResolver::readPath( const QString &filename ) const
3030
{
31+
if ( filename.isEmpty() )
32+
return QString();
33+
3134
QString src = filename;
3235

3336
if ( mBaseFileName.isNull() )

‎tests/src/core/testqgsproject.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ void TestQgsProject::testPathResolver()
102102
{
103103
// Test resolver with a non existing file path
104104
QgsPathResolver resolverLegacy( QStringLiteral( "/home/qgis/test.qgs" ) );
105+
QCOMPARE( resolverLegacy.readPath( QString() ), QString() );
106+
QCOMPARE( resolverLegacy.writePath( QString() ), QString() );
105107
QCOMPARE( resolverLegacy.writePath( "/home/qgis/file1.txt" ), QString( "./file1.txt" ) );
106108
QCOMPARE( resolverLegacy.writePath( "/home/qgis/subdir/file1.txt" ), QString( "./subdir/file1.txt" ) );
107109
QCOMPARE( resolverLegacy.writePath( "/home/file1.txt" ), QString( "../file1.txt" ) );
@@ -117,6 +119,8 @@ void TestQgsProject::testPathResolver()
117119
dir.mkpath( tmpDirName + "/home/qgis/" );
118120

119121
QgsPathResolver resolverRel( QString( tmpDirName + "/home/qgis/test.qgs" ) );
122+
QCOMPARE( resolverRel.readPath( QString() ), QString() );
123+
QCOMPARE( resolverRel.writePath( QString() ), QString() );
120124
QCOMPARE( resolverRel.writePath( tmpDirName + "/home/qgis/file1.txt" ), QString( "./file1.txt" ) );
121125
QCOMPARE( resolverRel.writePath( tmpDirName + "/home/qgis/subdir/file1.txt" ), QString( "./subdir/file1.txt" ) );
122126
QCOMPARE( resolverRel.writePath( tmpDirName + "/home/file1.txt" ), QString( "../file1.txt" ) );

0 commit comments

Comments
 (0)
Please sign in to comment.