diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-09-30 22:52:55 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-09-30 22:52:55 +0200 |
commit | 477a1a88c6b7f5e5a78a2bbc4a6fe7781b2a0525 (patch) | |
tree | 8afd9d2359717b77c9c842b27598543af9069471 /application/pages/global | |
parent | cf0308c970aba7e282e4e98782187bc636f8ce26 (diff) | |
download | MultiMC-477a1a88c6b7f5e5a78a2bbc4a6fe7781b2a0525.tar MultiMC-477a1a88c6b7f5e5a78a2bbc4a6fe7781b2a0525.tar.gz MultiMC-477a1a88c6b7f5e5a78a2bbc4a6fe7781b2a0525.tar.lz MultiMC-477a1a88c6b7f5e5a78a2bbc4a6fe7781b2a0525.tar.xz MultiMC-477a1a88c6b7f5e5a78a2bbc4a6fe7781b2a0525.zip |
GH-1262 fix relative paths for java binaries
Diffstat (limited to 'application/pages/global')
-rw-r--r-- | application/pages/global/JavaPage.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/application/pages/global/JavaPage.cpp b/application/pages/global/JavaPage.cpp index 9b35d1f3..18882ad9 100644 --- a/application/pages/global/JavaPage.cpp +++ b/application/pages/global/JavaPage.cpp @@ -105,13 +105,24 @@ void JavaPage::on_javaDetectBtn_clicked() ui->javaPathTextBox->setText(java->path); } } + void JavaPage::on_javaBrowseBtn_clicked() { - QString dir = QFileDialog::getOpenFileName(this, tr("Find Java executable")); - if (!dir.isNull()) + QString raw_path = QFileDialog::getOpenFileName(this, tr("Find Java executable")); + QString cooked_path = NormalizePath(raw_path); + + // do not allow current dir - it's dirty. Do not allow dirs that don't exist + if(cooked_path.isEmpty()) { - ui->javaPathTextBox->setText(dir); + return; + } + + QFileInfo javaInfo(cooked_path);; + if(!javaInfo.exists() || !javaInfo.isExecutable()) + { + return; } + ui->javaPathTextBox->setText(cooked_path); } void JavaPage::on_javaTestBtn_clicked() |