diff --git a/kmfolderdir.cpp b/kmfolderdir.cpp index f231207c2..03fa0144b 100644 --- a/kmfolderdir.cpp +++ b/kmfolderdir.cpp @@ -330,24 +330,26 @@ bool KMFolderDir::reload(void) // Check if the are any dirs without an associated folder. This can happen if the user messes // with the on-disk folder structure, see kolab issue 2972. In that case, we don't want to loose // the subfolders as well, so we recreate the folder so the folder/dir hierachy is OK again. - foreach ( const QString &dirName, dirsWithoutFolder ) { + if ( type() == KMDImapDir ) { + foreach ( const QString &dirName, dirsWithoutFolder ) { - // .foo.directory => foo - QString folderName = dirName; - int right = folderName.indexOf( ".directory" ); - int left = folderName.indexOf( "." ); - Q_ASSERT( left != -1 && right != -1 ); - folderName = folderName.mid( left + 1, right - 1 ); + // .foo.directory => foo + QString folderName = dirName; + int right = folderName.indexOf( ".directory" ); + int left = folderName.indexOf( "." ); + Q_ASSERT( left != -1 && right != -1 ); + folderName = folderName.mid( left + 1, right - 1 ); - kWarning() << "Found dir without associated folder:" << dirName << ", recreating the folder" - << folderName; + kWarning() << "Found dir without associated folder:" << dirName << ", recreating the folder" + << folderName; - // Recreate the missing folder - KMFolder *folder = new KMFolder( this, folderName, KMFolderTypeCachedImap ); - append( folder ); - folderList.append( folder ); + // Recreate the missing folder + KMFolder *folder = new KMFolder( this, folderName, KMFolderTypeCachedImap ); + append( folder ); + folderList.append( folder ); - addDirToParent( dirName, folder ); + addDirToParent( dirName, folder ); + } } return true; }