From e8e2e26d5aa97b56519f5c7bea706aff0fd86326 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 15 Aug 2011 18:10:02 +0200 Subject: [PATCH] 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 Reviewed-by: Oswald Buddenhagen --- src/corelib/codecs/qtextcodec.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp index 944be3620f..f28133be77 100644 --- a/src/corelib/codecs/qtextcodec.cpp +++ b/src/corelib/codecs/qtextcodec.cpp @@ -213,12 +213,13 @@ QTextCodecCleanup::~QTextCodecCleanup() destroying_is_ok = true; #endif - for (QList::const_iterator it = all->constBegin() - ; it != all->constEnd(); ++it) { + QList *myAll = all; + all = 0; // Otherwise the d'tor destroys the iterator + for (QList::const_iterator it = myAll->constBegin() + ; it != myAll->constEnd(); ++it) { delete *it; } - delete all; - all = 0; + delete myAll; localeMapper = 0; #ifdef Q_DEBUG_TEXTCODEC