diff options
author | Alexandru Ionut Tripon <alexandru.tripon97@gmail.com> | 2023-06-03 00:04:06 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-02 18:04:06 -0300 |
commit | 1840505a0f887ebfc2c719113873ea3345b133fb (patch) | |
tree | 9ac0105dcb21be1353813b558b3eac8c717f6f1a /launcher/ui/pages/modplatform/ShaderPackPage.cpp | |
parent | 0ece0b5b2796bded331d30988ee42258456703af (diff) | |
download | PrismLauncher-1840505a0f887ebfc2c719113873ea3345b133fb.tar.gz PrismLauncher-1840505a0f887ebfc2c719113873ea3345b133fb.tar.bz2 PrismLauncher-1840505a0f887ebfc2c719113873ea3345b133fb.zip |
Fix crash when selecting same mod from different providers (#1029)
Diffstat (limited to 'launcher/ui/pages/modplatform/ShaderPackPage.cpp')
-rw-r--r-- | launcher/ui/pages/modplatform/ShaderPackPage.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/launcher/ui/pages/modplatform/ShaderPackPage.cpp b/launcher/ui/pages/modplatform/ShaderPackPage.cpp index 251c07e7..fbf94e84 100644 --- a/launcher/ui/pages/modplatform/ShaderPackPage.cpp +++ b/launcher/ui/pages/modplatform/ShaderPackPage.cpp @@ -13,8 +13,7 @@ namespace ResourceDownload { -ShaderPackResourcePage::ShaderPackResourcePage(ShaderPackDownloadDialog* dialog, BaseInstance& instance) - : ResourcePage(dialog, instance) +ShaderPackResourcePage::ShaderPackResourcePage(ShaderPackDownloadDialog* dialog, BaseInstance& instance) : ResourcePage(dialog, instance) { connect(m_ui->searchButton, &QPushButton::clicked, this, &ShaderPackResourcePage::triggerSearch); connect(m_ui->packView, &QListView::doubleClicked, this, &ShaderPackResourcePage::onResourceSelected); @@ -38,17 +37,20 @@ QMap<QString, QString> ShaderPackResourcePage::urlHandlers() const { QMap<QString, QString> map; map.insert(QRegularExpression::anchoredPattern("(?:www\\.)?modrinth\\.com\\/shaders\\/([^\\/]+)\\/?"), "modrinth"); - map.insert(QRegularExpression::anchoredPattern("(?:www\\.)?curseforge\\.com\\/minecraft\\/customization\\/([^\\/]+)\\/?"), "curseforge"); + map.insert(QRegularExpression::anchoredPattern("(?:www\\.)?curseforge\\.com\\/minecraft\\/customization\\/([^\\/]+)\\/?"), + "curseforge"); map.insert(QRegularExpression::anchoredPattern("minecraft\\.curseforge\\.com\\/projects\\/([^\\/]+)\\/?"), "curseforge"); return map; } -void ShaderPackResourcePage::addResourceToDialog(ModPlatform::IndexedPack& pack, ModPlatform::IndexedVersion& version) +void ShaderPackResourcePage::addResourceToPage(ModPlatform::IndexedPack::Ptr pack, + ModPlatform::IndexedVersion& version, + const std::shared_ptr<ResourceFolderModel> base_model) { + QString custom_target_folder; if (version.loaders.contains(QStringLiteral("canvas"))) - version.custom_target_folder = QStringLiteral("resourcepacks"); - - m_parent_dialog->addResource(pack, version); + custom_target_folder = QStringLiteral("resourcepacks"); + m_model->addPack(pack, version, base_model, false, custom_target_folder); } } // namespace ResourceDownload |