QmlDesigner: Fix crash when selecting ISO icon

On macOS. Never use dynamic_cast over library boundaries - it may or may
not work, depending on compiler/platform.

Fixes: QTCREATORBUG-23773
Change-Id: I889d35f336ff80e2b1ae3cbe921f7de2fe541bd8
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Eike Ziller
2020-03-27 12:55:38 +01:00
parent faad83d5a3
commit 99cd623fa7

View File

@@ -398,8 +398,8 @@ void DocumentManager::findPathToIsoProFile(bool *iconResourceFileAlreadyExists,
qCDebug(documentManagerLog) << "Checking" << node->displayName() << "(" << node << ")";
if (node->isVirtualFolderType() && node->displayName() == "Resources") {
auto virtualFolderNode = dynamic_cast<ProjectExplorer::VirtualFolderNode*>(node);
ProjectExplorer::FolderNode *virtualFolderNode = node->asFolderNode();
if (QTC_GUARD(virtualFolderNode)) {
for (int subFolderIndex = 0; subFolderIndex < virtualFolderNode->folderNodes().size() && !iconQrcFileNode; ++subFolderIndex) {
ProjectExplorer::FolderNode *subFolderNode = virtualFolderNode->folderNodes().at(subFolderIndex);
@@ -414,6 +414,7 @@ void DocumentManager::findPathToIsoProFile(bool *iconResourceFileAlreadyExists,
}
}
}
}
if (!iconQrcFileNode) {
qCDebug(documentManagerLog) << "Didn't find" << isoIconsQrcFile