This is an automated email from the ASF dual-hosted git repository.

geertjan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new 54c1194  [NETBEANS-417] Adjust C file to handle new registry layout 
starting with jdk9  (#433)
54c1194 is described below

commit 54c119485939fe29041872da4426ed797e89cbb4
Author: Eric Barboni <[email protected]>
AuthorDate: Mon Mar 19 09:10:42 2018 +0100

    [NETBEANS-417] Adjust C file to handle new registry layout starting with 
jdk9  (#433)
    
    * [NETBEANS-417] fix return type in case of error
    
    * [NETBEANS-417] add check to new registry key
---
 ide/launcher/windows/nblauncher.cpp            | 4 ++--
 o.n.bootstrap/launcher/windows/jvmlauncher.cpp | 9 +++++++++
 o.n.bootstrap/launcher/windows/jvmlauncher.h   | 3 +++
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/ide/launcher/windows/nblauncher.cpp 
b/ide/launcher/windows/nblauncher.cpp
index f85acb1..ffb8c51 100644
--- a/ide/launcher/windows/nblauncher.cpp
+++ b/ide/launcher/windows/nblauncher.cpp
@@ -401,7 +401,7 @@ bool NbLauncher::findCacheDir(const char *str) {
 string NbLauncher::getDefaultUserDirRoot() {
     TCHAR defUserDirRootChar[MAX_PATH];
     if (FAILED(SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, 
defUserDirRootChar))) {
-        return false;
+        return std::string();
     }
     defUserDirRoot = ((string) defUserDirRootChar) + NETBEANS_DIRECTORY;
     defUserDirRoot.erase(defUserDirRoot.rfind('\\'));
@@ -412,7 +412,7 @@ string NbLauncher::getDefaultUserDirRoot() {
 string NbLauncher::getDefaultCacheDirRoot() {
     TCHAR defCacheDirRootChar[MAX_PATH];
     if (FAILED(SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, 0, 
defCacheDirRootChar))) {
-        return false;
+        return std::string();
     }
     defCacheDirRoot = ((string) defCacheDirRootChar) + 
NETBEANS_CACHES_DIRECTORY;
     defCacheDirRoot.erase(defCacheDirRoot.rfind('\\'));
diff --git a/o.n.bootstrap/launcher/windows/jvmlauncher.cpp 
b/o.n.bootstrap/launcher/windows/jvmlauncher.cpp
index a292773..7e297f1 100644
--- a/o.n.bootstrap/launcher/windows/jvmlauncher.cpp
+++ b/o.n.bootstrap/launcher/windows/jvmlauncher.cpp
@@ -28,6 +28,8 @@ using namespace std;
 
 const char *JvmLauncher::JDK_KEY = "Software\\JavaSoft\\Java Development Kit";
 const char *JvmLauncher::JRE_KEY = "Software\\JavaSoft\\Java Runtime 
Environment";
+const char *JvmLauncher::JDK_POST9_KEY = "Software\\JavaSoft\\JDK";
+const char *JvmLauncher::JRE_POST9_KEY = "Software\\JavaSoft\\JRE";
 const char *JvmLauncher::CUR_VERSION_NAME = "CurrentVersion";
 const char *JvmLauncher::JAVA_HOME_NAME = "JavaHome";
 const char *JvmLauncher::JAVA_BIN_DIR = "\\bin";
@@ -399,6 +401,13 @@ bool JvmLauncher::startOutProcJvm(const char 
*mainClassName, const std::list<std
 }
 
 bool JvmLauncher::findJava(const char *minJavaVersion) {
+    // scan for registry for jdk/jre version 9
+    if (findJava(JDK_POST9_KEY, "", minJavaVersion)) {
+        return true;
+    }
+    if (findJava(JRE_POST9_KEY, "", minJavaVersion)) {
+        return true;
+    }
     if (findJava(JDK_KEY, JAVA_JRE_PREFIX, minJavaVersion)) {
         return true;
     }
diff --git a/o.n.bootstrap/launcher/windows/jvmlauncher.h 
b/o.n.bootstrap/launcher/windows/jvmlauncher.h
index b550c62..01f4e34 100644
--- a/o.n.bootstrap/launcher/windows/jvmlauncher.h
+++ b/o.n.bootstrap/launcher/windows/jvmlauncher.h
@@ -34,6 +34,9 @@ class JvmLauncher {
 
     static const char *JDK_KEY;
     static const char *JRE_KEY;
+    // registry key change starting with version 9 
+    static const char *JDK_POST9_KEY;
+    static const char *JRE_POST9_KEY;
     static const char *CUR_VERSION_NAME;
     static const char *JAVA_HOME_NAME;
     static const char *JAVA_BIN_DIR;

-- 
To stop receiving notification emails like this one, please contact
[email protected].

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to