diff options
author | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2013-10-08 17:07:59 +0200 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2013-10-10 16:36:47 +0200 |
commit | 3ed4293d7c41cd207781dcb52c95ff3a6942d8a6 (patch) | |
tree | d362d22596903496884370b91cf60d07a601d94a /src/plugins/qtsupport/exampleslistmodel.cpp | |
parent | 8d7bd37bbe0cc7fbf34139594155f52c90771358 (diff) | |
download | qt-creator-3ed4293d7c41cd207781dcb52c95ff3a6942d8a6.tar.gz |
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>
Diffstat (limited to 'src/plugins/qtsupport/exampleslistmodel.cpp')
-rw-r--r-- | src/plugins/qtsupport/exampleslistmodel.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/plugins/qtsupport/exampleslistmodel.cpp b/src/plugins/qtsupport/exampleslistmodel.cpp index 6eda6cab25..197babdbcf 100644 --- a/src/plugins/qtsupport/exampleslistmodel.cpp +++ b/src/plugins/qtsupport/exampleslistmodel.cpp @@ -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() |