QAbstractFileEngineIterator: ensure m_path ends with '/'

... when it's first assigned, instead of in currentFilePath(), muck like
what QFileSystemIterator does.

Change-Id: Id58ddcd6df5ad911fd5a62f1ca386e25626cb781
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Ahmad Samir 2024-02-28 22:53:19 +02:00
parent e9126fd3ab
commit d89c32140a

View File

@ -19,6 +19,13 @@
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
static QString appendSlashIfNeeded(const QString &path)
{
if (!path.isEmpty() && !path.endsWith(u'/'))
return QString{path + u'/'};
return path;
}
/*! /*!
\class QAbstractFileEngineHandler \class QAbstractFileEngineHandler
\inmodule QtCore \inmodule QtCore
@ -919,7 +926,7 @@ QString QAbstractFileEngineIterator::path() const
*/ */
void QAbstractFileEngineIterator::setPath(const QString &path) void QAbstractFileEngineIterator::setPath(const QString &path)
{ {
m_path = path; m_path = appendSlashIfNeeded(path);
} }
/*! /*!
@ -960,15 +967,10 @@ QDir::Filters QAbstractFileEngineIterator::filters() const
QString QAbstractFileEngineIterator::currentFilePath() const QString QAbstractFileEngineIterator::currentFilePath() const
{ {
QString name = currentFileName(); QString name = currentFileName();
if (!name.isNull()) { if (name.isNull())
QString tmp = path(); return name;
if (!tmp.isEmpty()) {
if (!tmp.endsWith(u'/')) return path() + name;
tmp.append(u'/');
name.prepend(tmp);
}
}
return name;
} }
/*! /*!