forked from len0rd/rockbox
rbutil: Fix logger segfault on application exit.
Getting the values from a QMultiMap() returns a list, but not the same on consecutive calls. Thus calling it twice to get the iterators will yield different lists, causing the iterator to fail. Fixes a segfault when destructing the logger. Change-Id: Ie8ea8d3a9acf6fbd3969fbb49cbc50a1c1fa2854
This commit is contained in:
parent
774b35cccf
commit
c979717b80
1 changed files with 3 additions and 2 deletions
|
@ -600,8 +600,9 @@ Logger::~Logger()
|
|||
// Cleanup appenders
|
||||
QMutexLocker appendersLocker(&d->loggerMutex);
|
||||
#if QT_VERSION >= 0x050e00
|
||||
QSet<AbstractAppender*> deleteList(QSet<AbstractAppender*>(d->appenders.begin(), d->appenders.end()));
|
||||
deleteList.unite(QSet<AbstractAppender*>(d->categoryAppenders.values().begin(), d->categoryAppenders.values().end()));
|
||||
QSet<AbstractAppender*> deleteList(d->appenders.begin(), d->appenders.end());
|
||||
auto cal = d->categoryAppenders.values();
|
||||
deleteList.unite(QSet<AbstractAppender*>(cal.begin(), cal.end()));
|
||||
#else
|
||||
QSet<AbstractAppender*> deleteList(QSet<AbstractAppender*>::fromList(d->appenders));
|
||||
deleteList.unite(QSet<AbstractAppender*>::fromList(d->categoryAppenders.values()));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue