forked from qt-creator/qt-creator
Android: Use FilePath::fromUserInput for user input
... or when reading non-Qt config files. FilePath::fromString would make FilePath keep native dir delimiters, which would cause wrong negatives for example in FilePath::isChildOf(). This change here fixes that AndroidToolChain:::isValid incorrectly returned true. Change-Id: I28b321fe3c4064f61b78dc7fc36b8af3d18b806c Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -538,7 +538,7 @@ Utils::FilePath AndroidSettingsWidget::findJdkInCommonPaths()
|
|||||||
{
|
{
|
||||||
QString jdkFromEnvVar = QString::fromLocal8Bit(getenv("JAVA_HOME"));
|
QString jdkFromEnvVar = QString::fromLocal8Bit(getenv("JAVA_HOME"));
|
||||||
if (!jdkFromEnvVar.isEmpty())
|
if (!jdkFromEnvVar.isEmpty())
|
||||||
return Utils::FilePath::fromString(jdkFromEnvVar);
|
return Utils::FilePath::fromUserInput(jdkFromEnvVar);
|
||||||
|
|
||||||
if (Utils::HostOsInfo::isWindowsHost()) {
|
if (Utils::HostOsInfo::isWindowsHost()) {
|
||||||
QString jdkRegisteryPath = "HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\JDK\\";
|
QString jdkRegisteryPath = "HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\JDK\\";
|
||||||
@@ -549,7 +549,7 @@ Utils::FilePath AndroidSettingsWidget::findJdkInCommonPaths()
|
|||||||
|
|
||||||
for (const QString &version : jdkVersions) {
|
for (const QString &version : jdkVersions) {
|
||||||
jdkSettings.beginGroup(version);
|
jdkSettings.beginGroup(version);
|
||||||
jdkHome = Utils::FilePath::fromString(jdkSettings.value("JavaHome").toString());
|
jdkHome = Utils::FilePath::fromUserInput(jdkSettings.value("JavaHome").toString());
|
||||||
jdkSettings.endGroup();
|
jdkSettings.endGroup();
|
||||||
if (version.startsWith("1.8"))
|
if (version.startsWith("1.8"))
|
||||||
return jdkHome;
|
return jdkHome;
|
||||||
@@ -583,7 +583,7 @@ Utils::FilePath AndroidSettingsWidget::findJdkInCommonPaths()
|
|||||||
|
|
||||||
void AndroidSettingsWidget::validateNdk()
|
void AndroidSettingsWidget::validateNdk()
|
||||||
{
|
{
|
||||||
auto ndkPath = Utils::FilePath::fromString(m_ui->ndkListComboBox->currentText());
|
auto ndkPath = Utils::FilePath::fromUserInput(m_ui->ndkListComboBox->currentText());
|
||||||
m_androidConfig.setNdkLocation(ndkPath);
|
m_androidConfig.setNdkLocation(ndkPath);
|
||||||
|
|
||||||
auto summaryWidget = static_cast<SummaryWidget *>(m_ui->androidDetailsWidget->widget());
|
auto summaryWidget = static_cast<SummaryWidget *>(m_ui->androidDetailsWidget->widget());
|
||||||
@@ -612,7 +612,7 @@ void AndroidSettingsWidget::onSdkPathChanged()
|
|||||||
|
|
||||||
void AndroidSettingsWidget::validateSdk()
|
void AndroidSettingsWidget::validateSdk()
|
||||||
{
|
{
|
||||||
auto sdkPath = Utils::FilePath::fromString(m_ui->SDKLocationPathChooser->rawPath());
|
auto sdkPath = Utils::FilePath::fromUserInput(m_ui->SDKLocationPathChooser->rawPath());
|
||||||
m_androidConfig.setSdkLocation(sdkPath);
|
m_androidConfig.setSdkLocation(sdkPath);
|
||||||
|
|
||||||
auto summaryWidget = static_cast<SummaryWidget *>(m_ui->androidDetailsWidget->widget());
|
auto summaryWidget = static_cast<SummaryWidget *>(m_ui->androidDetailsWidget->widget());
|
||||||
|
Reference in New Issue
Block a user