diff --git a/src/fileaccess.cpp b/src/fileaccess.cpp index 364d272fc961be1e70d406fdab2374d511997acf..3b7f454c29860fd8f2f4a294c7b57c97cc272e60 100644 --- a/src/fileaccess.cpp +++ b/src/fileaccess.cpp @@ -63,7 +63,6 @@ void FileAccess::reset() m_linkTarget = ""; //m_fileType = -1; - m_pParent = nullptr; tmpFile.clear(); tmpFile = QSharedPointer::create(); realFile = nullptr; @@ -102,6 +101,7 @@ void FileAccess::setFile(const QString& name, bool bWantToWrite) void FileAccess::setFile(const QUrl& url, bool bWantToWrite) { reset(); + Q_ASSERT(parent() == nullptr || url != parent()->url()); m_url = url; //QUrl::isLocalFile assumes the scheme is set. @@ -1208,7 +1208,8 @@ void FileAccessJobHandler::slotListDirProcessNewEntries(KIO::Job*, const KIO::UD //must be manually filtered KDE does not supply API for ignoring these. if(fa.fileName() != "." && fa.fileName() != "..") { - fa.addPath(fa.fileName()); + //quick fix to preserve behavoir without creating invalid urls. TODO: look for altertive machanism for use with next major release. + fa.setFile(fa.url()); m_pDirList->push_back(fa); } diff --git a/src/fileaccess.h b/src/fileaccess.h index 66e6d9db2dc14d8fae29ec34352683e081d0e419..14bc1252d9f619bc7e5ade9bf838e7416c957bfa 100644 --- a/src/fileaccess.h +++ b/src/fileaccess.h @@ -118,7 +118,7 @@ class FileAccess bool m_bValidData; //long m_fileType; // for testing only - FileAccess* m_pParent; + FileAccess* m_pParent = nullptr; QDir m_baseDir; QFileInfo m_fileInfo;