Fix crash after closing the window while loading a TAR archive
A first problem was in LibarchivePlugin::list() not checking isInterruptionRequested() after the while loop. It was wrongly calling emitCorruptArchive() instead of aborting as requested. But according to the stacktrace, the actual crash seemed to be caused by the for() loop over qAsConst(m_jobs): #0 0x00007ffff5f6a023 in QHashData::nextNode(QHashData::Node*) () from /usr/lib/libQt5Core.so.5 #1 0x00007fffe1dcb2ec in QHash<KJob*, QHashDummyValue>::const_iterator::operator++ (this=0x7fffffffc4d0) at /usr/include/qt/QtCore/qhash.h:426 #2 0x00007fffe1dcadac in QSet<KJob*>::const_iterator::operator++ (this=0x7fffffffc4d0) at /usr/include/qt/QtCore/qset.h:174 #3 0x00007fffe1dca17e in JobTracker::~JobTracker (this=0x555555c319c0) at ../part/jobtracker.cpp:41 Porting to QSetIterator fixes the crash. BUG: 410092 FIXED-IN: 20.12.2
Loading
Please register or sign in to comment