Check if directory is readable before creating a script collection item

p4#: 21362
This commit is contained in:
Magne Sjaastad
2013-04-22 14:37:33 +02:00
parent d825b0654c
commit b20be8ad25
2 changed files with 17 additions and 4 deletions
@@ -67,6 +67,12 @@ void RimScriptCollection::readContentFromDisc()
return;
}
QDir myDir(this->directory());
if (!myDir.isReadable())
{
return;
}
// Build a list of all scripts in the specified directory
{
QString filter = "*.m";
@@ -93,7 +99,7 @@ void RimScriptCollection::readContentFromDisc()
// Add subfolders
{
QDir dir(directory);
QFileInfoList fileInfoList = dir.entryInfoList(QDir::AllDirs | QDir::NoDotAndDotDot);
QFileInfoList fileInfoList = dir.entryInfoList(QDir::AllDirs | QDir::NoDotAndDotDot | QDir::Readable);
subDirectories.deleteAllChildObjects();
QStringList retFileNames;
@@ -120,12 +126,19 @@ void RimScriptCollection::pathsAndSubPaths(QStringList& pathList)
{
if (!this->directory().isEmpty())
{
pathList.append(this->directory());
QDir myDir(this->directory());
if (myDir.isReadable())
{
pathList.append(this->directory());
}
}
for (size_t i= 0; i < this->subDirectories.size(); ++i)
{
if (this->subDirectories[i]) this->subDirectories[i]->pathsAndSubPaths(pathList);
if (this->subDirectories[i])
{
this->subDirectories[i]->pathsAndSubPaths(pathList);
}
}
}