diff --git a/kio/bookmarks/kbookmarkmanager.cc b/kio/bookmarks/kbookmarkmanager.cc index 9086fd2..b73ba1e 100644 --- a/kio/bookmarks/kbookmarkmanager.cc +++ b/kio/bookmarks/kbookmarkmanager.cc @@ -50,7 +50,10 @@ class KBookmarkManagerList : public QList<KBookmarkManager *> { public: ~KBookmarkManagerList() { - qDeleteAll( begin() , end() ); // auto-delete functionality + iterator itEnd = end(); + for(iterator it = begin(); it != itEnd; ++it) + (*it)->deleteLater(); + clear(); } QReadWriteLock lock; diff --git a/kio/kio/fileundomanager.cpp b/kio/kio/fileundomanager.cpp index ca1cbbb..a7a7317 100644 --- a/kio/kio/fileundomanager.cpp +++ b/kio/kio/fileundomanager.cpp @@ -239,7 +239,7 @@ FileUndoManager::FileUndoManager() FileUndoManager::~FileUndoManager() { - delete d; + d->deleteLater(); } void FileUndoManager::recordJob(CommandType op, const KUrl::List &src, const KUrl &dst, KIO::Job *job) diff --git a/kio/kio/scheduler.cpp b/kio/kio/scheduler.cpp index d5fab85..d884cae 100644 --- a/kio/kio/scheduler.cpp +++ b/kio/kio/scheduler.cpp @@ -664,7 +664,7 @@ public: ~SchedulerPrivate() { - delete q; + q->deleteLater(); q = 0; Q_FOREACH (ProtoQueue *p, m_protocols) { Q_FOREACH (Slave *slave, p->allSlaves()) {