Don't delete QLibrarySettings configuration in ~QCoreApplication

Do not clear the QLibrarySettings configuration information already
in ~QCoreApplication (via qAddPostRoutine). This fixes issues where
multiple QCoreApplication objects are created over time (in plugins).

Task-number: QTBUG-34290
Change-Id: Ib5c58f825619ede484492e057e08d73b2b4c6101
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Kai Koehne 2014-10-20 14:09:33 +02:00
parent 01054603a7
commit e8f1b99170

View File

@ -84,14 +84,7 @@ class QLibraryInfoPrivate
{
public:
static QSettings *findConfiguration();
#ifndef QT_BOOTSTRAPPED
static void cleanup()
{
QLibrarySettings *ls = qt_library_settings();
if (ls)
ls->settings.reset(0);
}
#else
#ifdef QT_BOOTSTRAPPED
static bool haveGroup(QLibraryInfo::PathGroup group)
{
QLibrarySettings *ls = qt_library_settings();
@ -114,7 +107,6 @@ QLibrarySettings::QLibrarySettings()
: settings(QLibraryInfoPrivate::findConfiguration())
{
#ifndef QT_BOOTSTRAPPED
qAddPostRoutine(QLibraryInfoPrivate::cleanup);
bool haveEffectivePaths;
bool havePaths;
#endif