summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2018-02-15 08:31:49 +0100
committerMichael Stahl <mstahl@redhat.com>2018-02-15 21:43:14 +0100
commit8c9d3e283e290fa241f9680da80a33dcc63751d5 (patch)
tree06d3ccd6b15b5ccb0282ee68977f0b5ad8bf4e82
parent819767ec0ed65992f3a8e02e0d57ea06e7f7a8a3 (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>
-rw-r--r--jvmfwk/plugins/sunmajor/pluginlib/util.cxx64
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)