don't crash when destroying codec list

this was uncovered by rittk's don't-detach patch.

(cherry picked from commit cc98710df73a590c37dca19bd3aa9fcd9bbd5a92)

Change-Id: I2225e6a94e5562459d9c5fd27ac7c8e611b674fd
Reviewed-on: http://codereview.qt-project.org/4580
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This commit is contained in:
Oswald Buddenhagen 2011-08-15 18:10:02 +02:00 committed by Qt by Nokia
parent 6874616273
commit e8e2e26d5a

View File

@ -213,12 +213,13 @@ QTextCodecCleanup::~QTextCodecCleanup()
destroying_is_ok = true;
#endif
for (QList<QTextCodec *>::const_iterator it = all->constBegin()
; it != all->constEnd(); ++it) {
QList<QTextCodec *> *myAll = all;
all = 0; // Otherwise the d'tor destroys the iterator
for (QList<QTextCodec *>::const_iterator it = myAll->constBegin()
; it != myAll->constEnd(); ++it) {
delete *it;
}
delete all;
all = 0;
delete myAll;
localeMapper = 0;
#ifdef Q_DEBUG_TEXTCODEC