forked from qt-creator/qt-creator
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:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user