aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2022-10-27 18:11:48 +0200
committerTim Jenssen <tim.jenssen@qt.io>2022-10-28 08:02:55 +0000
commit564298bba5a4c830d8e14a9e59360c23ee6c5e0d (patch)
treeaa6158b6d5fa08087c09b37874c842bbf37487e4
parentad3169bedd3953941d1e6fd82c2db5e1385919ae (diff)
qmldesigner: fix crash while switching modes
Task-number: QDS-7984 Change-Id: Ia1803ce062c3956390c12f0da5b86577593fd721 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r--src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp
index fcb52882f1..8993520537 100644
--- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp
+++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp
@@ -302,7 +302,7 @@ void MaterialBrowserView::modelAttached(Model *model)
// Project load is already very busy and may even trigger puppet reset, so let's wait a moment
// before refreshing the model
- QTimer::singleShot(1000, this, [this]() {
+ QTimer::singleShot(1000, model, [this]() {
refreshModel(true);
loadPropertyGroups(); // Needs the delay because it uses metaInfo
});
@@ -310,9 +310,6 @@ void MaterialBrowserView::modelAttached(Model *model)
void MaterialBrowserView::refreshModel(bool updateImages)
{
- if (!model() || !model()->nodeInstanceView())
- return;
-
ModelNode matLib = modelNodeForId(Constants::MATERIAL_LIB_ID);
QList <ModelNode> materials;
@@ -581,7 +578,7 @@ void MaterialBrowserView::customNotification(const AbstractView *view, const QSt
if (idx != -1)
m_widget->materialBrowserModel()->selectMaterial(idx);
} else if (identifier == "refresh_material_browser") {
- QTimer::singleShot(0, this, [this]() {
+ QTimer::singleShot(0, model(), [this]() {
refreshModel(true);
});
} else if (identifier == "delete_selected_material") {