diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-07-11 18:51:32 +0200 |
---|---|---|
committer | Sefa Eyeoglu <contact@scrumplex.net> | 2022-07-11 18:53:20 +0200 |
commit | c0bf267baeb14f86e5391f712f578b81c9cad383 (patch) | |
tree | 6fff97ed5081d9b60b053a7726752a20dfbacac7 /launcher/java/JavaUtils.cpp | |
parent | 1a26a5365913787e051a7c6518f051bb71ba5cd5 (diff) | |
download | PrismLauncher-c0bf267baeb14f86e5391f712f578b81c9cad383.tar.gz PrismLauncher-c0bf267baeb14f86e5391f712f578b81c9cad383.tar.bz2 PrismLauncher-c0bf267baeb14f86e5391f712f578b81c9cad383.zip |
fix: fix unicode issue with JavaChecker on Windows
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Diffstat (limited to 'launcher/java/JavaUtils.cpp')
-rw-r--r-- | launcher/java/JavaUtils.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/launcher/java/JavaUtils.cpp b/launcher/java/JavaUtils.cpp index c2b776ae..5223256c 100644 --- a/launcher/java/JavaUtils.cpp +++ b/launcher/java/JavaUtils.cpp @@ -202,12 +202,12 @@ QList<JavaInstallPtr> JavaUtils::FindJavaFromRegistryKey(DWORD keyType, QString { // Read the current type version from the registry. // This will be used to find any key that contains the JavaHome value. - char *value = new char[0]; + TCHAR *value = new TCHAR[0]; DWORD valueSz = 0; if (RegQueryValueExW(jreKey, L"CurrentVersion", NULL, NULL, (BYTE *)value, &valueSz) == ERROR_MORE_DATA) { - value = new char[valueSz]; + value = new TCHAR[valueSz]; RegQueryValueExW(jreKey, L"CurrentVersion", NULL, NULL, (BYTE *)value, &valueSz); } @@ -237,22 +237,24 @@ QList<JavaInstallPtr> JavaUtils::FindJavaFromRegistryKey(DWORD keyType, QString KEY_READ | KEY_WOW64_64KEY, &newKey) == ERROR_SUCCESS) { // Read the JavaHome value to find where Java is installed. - value = new char[0]; + value = new TCHAR[0]; valueSz = 0; if (RegQueryValueExW(newKey, keyJavaDir.toStdWString().c_str(), NULL, NULL, (BYTE *)value, &valueSz) == ERROR_MORE_DATA) { - value = new char[valueSz]; + value = new TCHAR[valueSz]; RegQueryValueExW(newKey, keyJavaDir.toStdWString().c_str(), NULL, NULL, (BYTE *)value, &valueSz); + QString newValue = QString::fromWCharArray(value); + // Now, we construct the version object and add it to the list. JavaInstallPtr javaVersion(new JavaInstall()); javaVersion->id = newSubkeyName; javaVersion->arch = archType; javaVersion->path = - QDir(FS::PathCombine(value, "bin")).absoluteFilePath("javaw.exe"); + QDir(FS::PathCombine(newValue, "bin")).absoluteFilePath("javaw.exe"); javas.append(javaVersion); } |