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