forked from qt-creator/qt-creator
Projects: Create QIcons in the UI thread
Creating QIcons elsewhere is not safe because of image reader plugin loading and the pixmap cache. Fixes: QTCREATORBUG-25301 Change-Id: Ia22a0cd571f808d7f5c639353fdf2e548743f8ca Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
@@ -73,8 +73,7 @@ const QbsProductNode *parentQbsProductNode(const ProjectExplorer::Node *node)
|
||||
|
||||
QbsGroupNode::QbsGroupNode(const QJsonObject &grp) : ProjectNode(FilePath()), m_groupData(grp)
|
||||
{
|
||||
static QIcon groupIcon = QIcon(QString(ProjectExplorer::Constants::FILEOVERLAY_GROUP));
|
||||
setIcon(groupIcon);
|
||||
setIcon(ProjectExplorer::Constants::FILEOVERLAY_GROUP);
|
||||
setDisplayName(grp.value("name").toString());
|
||||
setEnabled(grp.value("is-enabled").toBool());
|
||||
}
|
||||
@@ -108,9 +107,7 @@ QVariant QbsGroupNode::data(Id role) const
|
||||
|
||||
QbsProductNode::QbsProductNode(const QJsonObject &prd) : ProjectNode(FilePath()), m_productData(prd)
|
||||
{
|
||||
static QIcon productIcon = Core::FileIconProvider::directoryIcon(
|
||||
ProjectExplorer::Constants::FILEOVERLAY_PRODUCT);
|
||||
setIcon(productIcon);
|
||||
setIcon(DirectoryIcon(ProjectExplorer::Constants::FILEOVERLAY_PRODUCT));
|
||||
if (prd.value("is-runnable").toBool()) {
|
||||
setProductType(ProductType::App);
|
||||
} else {
|
||||
@@ -265,9 +262,7 @@ QJsonObject QbsProductNode::mainGroup() const
|
||||
QbsProjectNode::QbsProjectNode(const QJsonObject &projectData)
|
||||
: ProjectNode(FilePath()), m_projectData(projectData)
|
||||
{
|
||||
static QIcon projectIcon = Core::FileIconProvider::directoryIcon(
|
||||
ProjectExplorer::Constants::FILEOVERLAY_QT);
|
||||
setIcon(projectIcon);
|
||||
setIcon(DirectoryIcon(ProjectExplorer::Constants::FILEOVERLAY_QT));
|
||||
setDisplayName(projectData.value("name").toString());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user