diff --git a/launcher/ui/java/JavaDownloader.cpp b/launcher/ui/java/JavaDownloader.cpp
index 7417a4ea8..24918dd76 100644
--- a/launcher/ui/java/JavaDownloader.cpp
+++ b/launcher/ui/java/JavaDownloader.cpp
@@ -55,7 +55,7 @@ Downloader::Downloader(QWidget* parent) : QDialog(parent), ui(new Ui::JavaDownlo
ui->javaVersionSelect->setEmptyString(tr("No java versions are currently available for your OS."));
ui->javaVersionSelect->setEmptyErrorString(tr("Couldn't load or download the java version lists!"));
- ui->buttonBox->button(QDialogButtonBox::Retry)->setText(tr("Refresh"));
+ ui->buttonBox->button(QDialogButtonBox::Reset)->setText(tr("Refresh"));
ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("Download"));
connect(ui->majorVersionSelect, &VersionSelectWidget::selectedVersionChanged, this, &Downloader::setSelectedVersion);
@@ -98,6 +98,7 @@ void Downloader::accept()
connect(task.get(), &Task::failed, this, deletePath);
connect(task.get(), &Task::aborted, this, deletePath);
ProgressDialog pg(this);
+ pg.setSkipButton(true, tr("Abort"));
pg.execWithTask(task.get());
QDialog::accept();
}
diff --git a/launcher/ui/java/JavaDownloader.ui b/launcher/ui/java/JavaDownloader.ui
index 0eeabb26d..3f6a8adc6 100644
--- a/launcher/ui/java/JavaDownloader.ui
+++ b/launcher/ui/java/JavaDownloader.ui
@@ -48,7 +48,7 @@
Qt::Horizontal
- QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::Retry
+ QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::Reset
@@ -71,8 +71,8 @@
accept()
- 248
- 254
+ 257
+ 583
157
@@ -87,8 +87,8 @@
reject()
- 316
- 260
+ 325
+ 583
286
diff --git a/launcher/ui/java/VersionList.cpp b/launcher/ui/java/VersionList.cpp
index 7c5668d20..4bf04224a 100644
--- a/launcher/ui/java/VersionList.cpp
+++ b/launcher/ui/java/VersionList.cpp
@@ -104,10 +104,12 @@ bool sortJavas(BaseVersion::Ptr left, BaseVersion::Ptr right)
void VersionList::sortVersions()
{
+ if (!m_version || !m_version->data())
+ return;
QString versionStr = SysInfo::getSupportedJavaArchitecture();
beginResetModel();
auto runtimes = m_version->data()->runtimes;
- if (!versionStr.isEmpty() && runtimes.contains(versionStr)) {
+ if (!versionStr.isEmpty() && !runtimes.isEmpty() && runtimes.contains(versionStr)) {
m_vlist = runtimes.value(versionStr);
std::sort(m_vlist.begin(), m_vlist.end(), sortJavas);
} else {