From 16679b71ee6ab9e473d3415ee2633fccd032efc4 Mon Sep 17 00:00:00 2001 From: Till Adam Date: Sat, 28 Aug 2004 12:59:38 +0000 Subject: [PATCH] Backport from HEAD. Don't crash when creating a folder fails. svn path=/branches/KDE_3_3_BRANCH/kdepim/; revision=342132 --- kmfolderimap.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/kmfolderimap.cpp b/kmfolderimap.cpp index 4fe9a45fe..65ed22781 100644 --- a/kmfolderimap.cpp +++ b/kmfolderimap.cpp @@ -606,7 +606,7 @@ void KMFolderImap::slotListResult( const QStringList& subfolderNames_, subfolderNames.clear(); } folder()->createChildFolder(); - KMFolderImap *f; + KMFolderImap *f = 0; KMFolderNode *node = folder()->child()->first(); while (node) { @@ -667,12 +667,14 @@ void KMFolderImap::slotListResult( const QStringList& subfolderNames_, if (node) f = static_cast(static_cast(node)->storage()); else { - f = static_cast - (folder()->child()->createFolder(subfolderNames[i])->storage()); - if (f) - { - f->close(); - } else { + KMFolder *newFolder = folder()->child()->createFolder(subfolderNames[i]); + if ( newFolder ) { + f = static_cast ( newFolder->storage() ); + if ( f ) { + f->close(); + } + } + if ( !f ) { kdWarning(5006) << "can't create folder " << subfolderNames[i] << endl; } }