diff --git a/src/ui/curseforge/curseforgemodbrowser.cpp b/src/ui/curseforge/curseforgemodbrowser.cpp index 307ee9cf..e8aa2d54 100644 --- a/src/ui/curseforge/curseforgemodbrowser.cpp +++ b/src/ui/curseforge/curseforgemodbrowser.cpp @@ -200,7 +200,7 @@ void CurseforgeModBrowser::on_modListWidget_doubleClicked(const QModelIndex &ind mod->setParent(dialog); dialog->setDownloadPath(downloadPath_); connect(this, &CurseforgeModBrowser::downloadPathChanged, dialog, &CurseforgeModDialog::setDownloadPath); - connect(dialog, &CurseforgeModDialog::accepted, widget, [=]{ + connect(dialog, &CurseforgeModDialog::finished, widget, [=]{ mod->setParent(widget); item->setData(Qt::UserRole + 1, false); }); diff --git a/src/ui/modrinth/modrinthmodbrowser.cpp b/src/ui/modrinth/modrinthmodbrowser.cpp index 3083cc0c..c38af528 100644 --- a/src/ui/modrinth/modrinthmodbrowser.cpp +++ b/src/ui/modrinth/modrinthmodbrowser.cpp @@ -174,6 +174,8 @@ void ModrinthModBrowser::getModList(QString name, int index) void ModrinthModBrowser::on_modListWidget_doubleClicked(const QModelIndex &index) { auto item = ui->modListWidget->item(index.row()); + if(item->data(Qt::UserRole + 1).toBool()) return; + item->setData(Qt::UserRole + 1, true); if(!item->text().isEmpty()) return; auto widget = dynamic_cast(ui->modListWidget->itemWidget(item)); auto mod = widget->mod(); @@ -182,8 +184,9 @@ void ModrinthModBrowser::on_modListWidget_doubleClicked(const QModelIndex &index mod->setParent(dialog); dialog->setDownloadPath(downloadPath_); connect(this, &ModrinthModBrowser::downloadPathChanged, dialog, &ModrinthModDialog::setDownloadPath); - connect(dialog, &ModrinthModDialog::accepted, widget, [=]{ + connect(dialog, &ModrinthModDialog::finished, widget, [=]{ mod->setParent(widget); + item->setData(Qt::UserRole + 1, false); }); dialog->show(); }