summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-02-25 10:58:44 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-25 16:28:13 +0100
commit0315971ee951e9abe7f288564ddf2e81aeed1fd8 (patch)
tree86c9bb97ca4480f2da0ce755eae497be77fc7573
parent427d50dc257b8e11844c7e295c56d674a8dfad94 (diff)
Qt 3 Support: Prevent double deletion of QObjectPrivate::threadData in QSettings.
Task-number: QTBUG-36908 Change-Id: I8f9f86f20bd8bb479c2637f6c276e4e2593ecef9 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
-rw-r--r--src/corelib/io/qsettings.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp
index 9ee356e874..51db081f04 100644
--- a/src/corelib/io/qsettings.cpp
+++ b/src/corelib/io/qsettings.cpp
@@ -3639,6 +3639,7 @@ void QSettings::setPath_helper(Scope scope, const QString &organization, const Q
QSettingsPrivate *oldPriv = d;
QSettingsPrivate *newPriv = QSettingsPrivate::create(oldPriv->format, scope, organization, application);
static_cast<QObjectPrivate &>(*newPriv) = static_cast<QObjectPrivate &>(*oldPriv); // copy the QObject stuff over (hack)
+ oldPriv->threadData = 0; // QTBUG-36908, newPriv takes ownership.
d_ptr.reset(newPriv);
}