diff --git a/sources/ElementsCollection/elementscollectionwidget.cpp b/sources/ElementsCollection/elementscollectionwidget.cpp index e42e1178f..19e07a7c7 100644 --- a/sources/ElementsCollection/elementscollectionwidget.cpp +++ b/sources/ElementsCollection/elementscollectionwidget.cpp @@ -70,11 +70,15 @@ void ElementsCollectionWidget::expandFirstItems() * @param project */ void ElementsCollectionWidget::addProject(QETProject *project) { - m_model->addProject(project); + if (m_model) + m_model->addProject(project); + else + m_waiting_project.append(project); } void ElementsCollectionWidget::removeProject(QETProject *project) { - m_model->removeProject(project); + if (m_model) + m_model->removeProject(project); } bool ElementsCollectionWidget::event(QEvent *event) @@ -443,6 +447,12 @@ void ElementsCollectionWidget::reload() new_model->addCommonCollection(false); new_model->addCustomCollection(false); + if (!m_waiting_project.isEmpty()) { + foreach(QETProject *prj, m_waiting_project) + new_model->addProject(prj, false); + m_waiting_project.clear(); + } + if (m_model) foreach (QETProject *project, m_model->project()) new_model->addProject(project, false); diff --git a/sources/ElementsCollection/elementscollectionwidget.h b/sources/ElementsCollection/elementscollectionwidget.h index e8d5c849b..dc8194789 100644 --- a/sources/ElementsCollection/elementscollectionwidget.h +++ b/sources/ElementsCollection/elementscollectionwidget.h @@ -97,6 +97,7 @@ class ElementsCollectionWidget : public QWidget *m_show_all_dir; bool m_first_show = true; + QList m_waiting_project; }; #endif // ELEMENTSCOLLECTIONWIDGET_H