Kaydet (Commit) 1104be60 authored tarafından Stephan Bergmann's avatar Stephan Bergmann Kaydeden (comit) Andras Timar

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".

Reviewed-on: https://gerrit.libreoffice.org/49792Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
(cherry picked from commit cc8e8215)
Conflicts:
	jvmfwk/plugins/sunmajor/pluginlib/util.cxx

Change-Id: Ic30ce430663cc1608c6268fa937142f73c55f138
Reviewed-on: https://gerrit.libreoffice.org/49822Reviewed-by: 's avatarAndras Timar <andras.timar@collabora.com>
Tested-by: 's avatarAndras Timar <andras.timar@collabora.com>
üst 926a200f
......@@ -577,35 +577,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
typedef std::vector<OUString>::iterator ItHome;
for(ItHome it_home= vecJavaHome.begin(); it_home != vecJavaHome.end();
++it_home)
{
getAndAddJREInfoByPath(*it_home, allInfos, addedInfos);
}
}
vecJavaHome.clear();
if(getJREInfoFromRegistry(vecJavaHome))
{
typedef std::vector<OUString>::iterator ItHome;
for(ItHome it_home= vecJavaHome.begin(); it_home != vecJavaHome.end();
++it_home)
{
getAndAddJREInfoByPath(*it_home, allInfos, addedInfos);
}
}
}
bool getJavaInfoFromRegistry(const wchar_t* szRegKey,
vector<OUString>& vecJavaHome)
......@@ -687,6 +658,49 @@ 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
typedef std::vector<OUString>::iterator ItHome;
for(ItHome it_home= vecJavaHome.begin(); it_home != vecJavaHome.end();
++it_home)
{
getAndAddJREInfoByPath(*it_home, allInfos, addedInfos);
}
}
vecJavaHome.clear();
if(getJREInfoFromRegistry(vecJavaHome))
{
typedef std::vector<OUString>::iterator ItHome;
for(ItHome it_home= vecJavaHome.begin(); it_home != vecJavaHome.end();
++it_home)
{
getAndAddJREInfoByPath(*it_home, 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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment