From 57cb9d888b74459f8b0fa4aaed0abf316890cff1 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 31 May 2022 17:59:23 +0200 Subject: [PATCH] QmlDesigner: Fix potential crash Change-Id: I85e5b7d8f03e270540294a20ccc24658943a2c9b Reviewed-by: Mahmoud Badri Reviewed-by: --- .../components/itemlibrary/itemlibrarycategoriesmodel.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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")});