diff --git a/src/core/chmodjob.cpp b/src/core/chmodjob.cpp --- a/src/core/chmodjob.cpp +++ b/src/core/chmodjob.cpp @@ -24,15 +24,16 @@ #include #include -#include #include #include "listjob.h" #include "job_p.h" #include "jobuidelegatefactory.h" #include "kioglobal_p.h" +#include + namespace KIO { @@ -70,7 +71,7 @@ bool m_recursive; bool m_bAutoSkipFiles; KFileItemList m_lstItems; - QLinkedList m_infos; // linkedlist since we keep removing the first item + std::list m_infos; // linked list since we keep removing the first item void _k_chmodNextFile(); void _k_slotEntries(KIO::Job *, const KIO::UDSEntryList &); @@ -127,7 +128,7 @@ << "\n with ~mask (mask bits we keep) =" << QString::number((uint)~m_mask,8) << "\n bits we keep =" << QString::number(permissions & ~m_mask,8) << "\n new permissions = " << QString::number(info.permissions,8);*/ - m_infos.prepend(info); + m_infos.push_front(info); //qDebug() << "processList : Adding info for " << info.url; // Directory and recursive -> list if (item.isDir() && m_recursive) { @@ -186,16 +187,17 @@ << "\n new permissions = " << QString::number(info.permissions,8);*/ // Prepend this info in our todo list. // This way, the toplevel dirs are done last. - m_infos.prepend(info); + m_infos.push_front(info); } } } void ChmodJobPrivate::_k_chmodNextFile() { Q_Q(ChmodJob); - if (!m_infos.isEmpty()) { - ChmodInfo info = m_infos.takeFirst(); + if (!m_infos.empty()) { + ChmodInfo info = m_infos.front(); + m_infos.pop_front(); // First update group / owner (if local file) // (permissions have to set after, in case of suid and sgid) if (info.url.isLocalFile() && (m_newOwner.isValid() || m_newGroup.isValid())) { @@ -206,7 +208,7 @@ } else if (!m_bAutoSkipFiles) { const QString errMsg = i18n("Could not modify the ownership of file %1. You have insufficient access to the file to perform the change.", path); SkipDialog_Options options; - if (m_infos.count() > 1) { + if (m_infos.size() > 1) { options |= SkipDialog_MultipleItems; } const SkipDialog_Result skipResult = m_uiDelegateExtension->askSkip(q, options, errMsg); @@ -219,7 +221,7 @@ QMetaObject::invokeMethod(q, "_k_chmodNextFile", Qt::QueuedConnection); return; case Result_Retry: - m_infos.prepend(info); + m_infos.push_front(info); QMetaObject::invokeMethod(q, "_k_chmodNextFile", Qt::QueuedConnection); return; case Result_Cancel: