diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2018-02-15 08:31:49 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2018-02-15 21:43:14 +0100 |
commit | 8c9d3e283e290fa241f9680da80a33dcc63751d5 (patch) | |
tree | 06d3ccd6b15b5ccb0282ee68977f0b5ad8bf4e82 /jvmfwk | |
parent | 819767ec0ed65992f3a8e02e0d57ea06e7f7a8a3 (diff) |
Find Java 9 with the new registry keys on Windows
See <https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-EEED398E-AE37-
4D12-AB10-49F82F720027> section "Windows Registry Key Changes".
Change-Id: Ic30ce430663cc1608c6268fa937142f73c55f138
Reviewed-on: https://gerrit.libreoffice.org/49792
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
(cherry picked from commit cc8e8215c8d7583f36feca20f0a1235edc05a6d7)
Reviewed-on: https://gerrit.libreoffice.org/49811
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'jvmfwk')
-rw-r--r-- | jvmfwk/plugins/sunmajor/pluginlib/util.cxx | 64 |
1 files changed, 39 insertions, 25 deletions
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx index 5a74b6c169ca..9808c8707e96 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx +++ b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx @@ -575,31 +575,6 @@ bool decodeOutput(const OString& s, OUString* out) #if defined(_WIN32) -void addJavaInfoFromWinReg( - std::vector<rtl::Reference<VendorBase> > & allInfos, - std::vector<rtl::Reference<VendorBase> > & addedInfos) -{ - // Get Java s from registry - std::vector<OUString> vecJavaHome; - if(getSDKInfoFromRegistry(vecJavaHome)) - { - // create impl objects - for (auto const& javaHome : vecJavaHome) - { - getAndAddJREInfoByPath(javaHome, allInfos, addedInfos); - } - } - - vecJavaHome.clear(); - if(getJREInfoFromRegistry(vecJavaHome)) - { - for (auto const& javaHome : vecJavaHome) - { - getAndAddJREInfoByPath(javaHome, allInfos, addedInfos); - } - } -} - bool getJavaInfoFromRegistry(const wchar_t* szRegKey, vector<OUString>& vecJavaHome) @@ -685,6 +660,45 @@ bool getJREInfoFromRegistry(vector<OUString>& vecJavaHome) return getJavaInfoFromRegistry(HKEY_SUN_JRE, vecJavaHome); } +void addJavaInfoFromWinReg( + std::vector<rtl::Reference<VendorBase> > & allInfos, + std::vector<rtl::Reference<VendorBase> > & addedInfos) +{ + // Get Java s from registry + std::vector<OUString> vecJavaHome; + if(getSDKInfoFromRegistry(vecJavaHome)) + { + // create impl objects + for (auto const& javaHome : vecJavaHome) + { + getAndAddJREInfoByPath(javaHome, allInfos, addedInfos); + } + } + + vecJavaHome.clear(); + if(getJREInfoFromRegistry(vecJavaHome)) + { + for (auto const& javaHome : vecJavaHome) + { + getAndAddJREInfoByPath(javaHome, allInfos, addedInfos); + } + } + + vecJavaHome.clear(); + if (getJavaInfoFromRegistry(L"Software\\JavaSoft\\JDK", vecJavaHome)) { + for (auto const & javaHome: vecJavaHome) { + getAndAddJREInfoByPath(javaHome, allInfos, addedInfos); + } + } + + vecJavaHome.clear(); + if (getJavaInfoFromRegistry(L"Software\\JavaSoft\\JRE", vecJavaHome)) { + for (auto const & javaHome: vecJavaHome) { + getAndAddJREInfoByPath(javaHome, allInfos, addedInfos); + } + } +} + #endif // WNT void bubbleSortVersion(vector<rtl::Reference<VendorBase> >& vec) |