From f7a1f829cdfcaab22a380a27945cfaf80c4b6fbf Mon Sep 17 00:00:00 2001 From: Michael Haeckel Date: Wed, 13 Jun 2001 19:45:43 +0000 Subject: [PATCH] Don't crash in a some cases, by accessing a non existant QTimer object. svn path=/trunk/kdenetwork/kmail/; revision=102002 --- kmfoldertree.cpp | 14 +++++--------- kmfoldertree.h | 2 +- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/kmfoldertree.cpp b/kmfoldertree.cpp index 496ec17b6..d43efe15b 100644 --- a/kmfoldertree.cpp +++ b/kmfoldertree.cpp @@ -188,9 +188,10 @@ KMFolderTree::KMFolderTree(QWidget *parent,const char *name) // Espen 2000-05-14: Getting rid of thick ugly frames setLineWidth(0); - mUpdateTimer = NULL; setSelectionMode( Extended ); + connect(&mUpdateTimer, SIGNAL(timeout()), + this, SLOT(delayedUpdate())); connect(this, SIGNAL(currentChanged(QListViewItem*)), this, SLOT(doFolderSelected(QListViewItem*))); connect(kernel->folderMgr(), SIGNAL(changed()), @@ -358,7 +359,6 @@ void KMFolderTree::readConfig (void) KMFolderTree::~KMFolderTree() { disconnect(kernel->folderMgr(), SIGNAL(changed()), this, SLOT(doFolderListChanged())); - delete mUpdateTimer; } //----------------------------------------------------------------------------- @@ -522,12 +522,7 @@ void KMFolderTree::addDirectory( KMFolderDir *fdir, QListViewItem* parent ) // when the user manually checks for mail and none was found. void KMFolderTree::refresh(KMFolder* ) { - if (!mUpdateTimer) - { - mUpdateTimer = new QTimer(this); - connect(mUpdateTimer, SIGNAL(timeout()), this, SLOT(delayedUpdate())); - } - mUpdateTimer->changeInterval(200); + mUpdateTimer.changeInterval(200); } //----------------------------------------------------------------------------- @@ -571,7 +566,7 @@ void KMFolderTree::delayedUpdate() ++it; } setUpdatesEnabled(upd); - mUpdateTimer->stop(); + mUpdateTimer.stop(); } //----------------------------------------------------------------------------- @@ -1275,6 +1270,7 @@ void KMFolderTree::slotFolderCollapsed( QListViewItem * item ) delete ftic; } fti->folder->account()->displayProgress(); + fti->folder->account()->setIdle(TRUE); fti->mImapState = KMFolderTreeItem::imapNoInformation; } } diff --git a/kmfoldertree.h b/kmfoldertree.h index 2e9841a02..5f4a40c5b 100644 --- a/kmfoldertree.h +++ b/kmfoldertree.h @@ -194,7 +194,7 @@ protected: void writeIsListViewItemOpen(KMFolderTreeItem *fti); KMFolderNodeList mList; - QTimer* mUpdateTimer; + QTimer mUpdateTimer; static QPixmap *pixDir, *pixNode, *pixPlain, *pixFld, *pixFull, *pixIn, *pixOut, *pixTr, *pixSent;