WelcomePage: fixes QTC_ASSERT

We have to wait for the QtVersionManager until all Qt versions
are loaded.

Change-Id: Ia6f823660d0252fb8e8ee1b8cfaec32e26ebc0bd
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
Thomas Hartmann
2013-10-08 17:07:59 +02:00
parent 8d7bd37bbe
commit 3ed4293d7c

View File

@@ -110,6 +110,11 @@ public:
void setupQtVersions()
{
if (!QtVersionManager::isLoaded()) {
connect(QtVersionManager::instance(), SIGNAL(qtVersionsLoaded()), this, SLOT(qtVersionManagerLoaded()));
return;
}
beginResetModel();
clear();
@@ -173,6 +178,11 @@ public slots:
QVariant variant = data(modelIndex, Qt::UserRole + 2);
return variant;
}
void qtVersionManagerLoaded()
{
disconnect(QtVersionManager::instance(), SIGNAL(qtVersionsLoaded()), this, SLOT(qtVersionManagerLoaded()));
setupQtVersions();
}
};
ExamplesListModel::ExamplesListModel(QObject *parent) :
@@ -700,9 +710,11 @@ void ExamplesListModel::ensureInitialized() const
void ExamplesListModel::filterForQtById(int id)
{
m_uniqueQtId = id;
setUniqueQtVersionIdSetting(id);
updateExamples();
if (QtVersionManager::isLoaded()) {
m_uniqueQtId = id;
setUniqueQtVersionIdSetting(id);
updateExamples();
}
}
ExamplesListModelFilter::ExamplesListModelFilter(ExamplesListModel *sourceModel, QObject *parent) :
@@ -716,6 +728,7 @@ ExamplesListModelFilter::ExamplesListModelFilter(ExamplesListModel *sourceModel,
connect(this, SIGNAL(showTutorialsOnlyChanged()), SLOT(updateFilter()));
connect(sourceModel, SIGNAL(qtVersionsChanged()), SLOT(handleQtVersionsChanged()));
setSourceModel(m_sourceModel);
m_qtVersionModel->setupQtVersions();
}
void ExamplesListModelFilter::updateFilter()