From bd2e67b4f7b0ab71ec8c02161958a759b42b98ac Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 1 Jun 2020 13:46:37 +0300 Subject: [PATCH] QmlDesigner: Fix possible imports list after import removal Order of the notifications caused obsolete imports list to be used when possible imports list was updated, so explicitly update possible imports on imports change handling, too. Change-Id: Iea1ae4deecd84c35114a613098e7e5bcf2e86762 Fixes: QDS-2199 Reviewed-by: Thomas Hartmann --- .../components/importmanager/importmanagerview.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp b/src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp index c2bce0b0ce5..bc2455bd7a1 100644 --- a/src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp +++ b/src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp @@ -79,13 +79,17 @@ void ImportManagerView::modelAboutToBeDetached(Model *model) AbstractView::modelAboutToBeDetached(model); } -void ImportManagerView::importsChanged(const QList &/*addedImports*/, const QList &/*removedImports*/) +void ImportManagerView::importsChanged(const QList &/*addedImports*/, const QList &removedImports) { if (m_importsWidget) { m_importsWidget->setImports(model()->imports()); // setImports recreates labels, so we need to update used imports, as it is not guaranteed // usedImportsChanged notification will come after this. m_importsWidget->setUsedImports(model()->usedImports()); + // setPossibleImports done in response to possibleImportsChanged comes before importsChanged, + // which causes incorrect "already used" filtering to be applied to possible imports list, + // so update the possible imports list here, too. + m_importsWidget->setPossibleImports(model()->possibleImports()); } }