diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategoriesmodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategoriesmodel.cpp index 4962f5d6b4c..6ca0ddbc749 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategoriesmodel.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategoriesmodel.cpp @@ -207,10 +207,11 @@ void ItemLibraryCategoriesModel::clearSelectedCategory(int categoryIndex) QPointer ItemLibraryCategoriesModel::selectCategory(int categoryIndex) { - if (categoryIndex == -1 || m_categoryList.isEmpty()) + if (m_categoryList.isEmpty() || categoryIndex < 0 || categoryIndex >= m_categoryList.size()) return nullptr; const QPointer category = m_categoryList.at(categoryIndex); + if (!category->categorySelected()) { category->setCategorySelected(true); emit dataChanged(index(categoryIndex),index(categoryIndex), {m_roleNames.key("categorySelected")});