debug_console: Avoid iterator usage on temporary return value

This works, because the value is not modified. Hwoever, it is an antipattern and can easily break
master
Alexander Lohnau 11 months ago
parent 4a8d952544
commit 778c85343b

@ -1664,8 +1664,9 @@ void DataSourceModel::setSource(AbstractDataSource *source)
m_source = source;
m_data.clear();
if (source) {
m_data.resize(m_source->mimeTypes().size());
for (auto type = m_source->mimeTypes().cbegin(); type != m_source->mimeTypes().cend(); ++type) {
const QStringList mimeTypes = m_source->mimeTypes();
m_data.resize(mimeTypes.size());
for (auto type = mimeTypes.begin(); type != mimeTypes.end(); ++type) {
int pipeFds[2];
if (pipe2(pipeFds, O_CLOEXEC) != 0) {
continue;
@ -1674,7 +1675,7 @@ void DataSourceModel::setSource(AbstractDataSource *source)
QFuture<QByteArray> data = QtConcurrent::run(readData, pipeFds[0]);
auto watcher = new QFutureWatcher<QByteArray>(this);
watcher->setFuture(data);
const int index = type - m_source->mimeTypes().cbegin();
const int index = type - mimeTypes.begin();
connect(watcher, &QFutureWatcher<QByteArray>::finished, this, [this, watcher, index, source = QPointer(source)] {
watcher->deleteLater();
if (source && source == m_source) {

Loading…
Cancel
Save