summaryrefslogtreecommitdiff
path: root/jvmfwk/source/elements.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'jvmfwk/source/elements.cxx')
-rw-r--r--jvmfwk/source/elements.cxx37
1 files changed, 6 insertions, 31 deletions
diff --git a/jvmfwk/source/elements.cxx b/jvmfwk/source/elements.cxx
index b25c49f07104..4da38c001ed9 100644
--- a/jvmfwk/source/elements.cxx
+++ b/jvmfwk/source/elements.cxx
@@ -591,21 +591,9 @@ void NodeJava::setJavaInfo(const JavaInfo * pInfo, bool bAutoSelect)
}
}
-void NodeJava::setVmParameters(rtl_uString * * arOptions, sal_Int32 size)
+void NodeJava::setVmParameters(std::vector<OUString> const & arOptions)
{
- assert( !(arOptions == nullptr && size != 0));
- if ( ! m_vmParameters)
- m_vmParameters = boost::optional<std::vector<OUString> >(
- std::vector<OUString>());
- m_vmParameters->clear();
- if (arOptions != nullptr)
- {
- for (int i = 0; i < size; i++)
- {
- const OUString sOption(arOptions[i]);
- m_vmParameters->push_back(sOption);
- }
- }
+ m_vmParameters = boost::optional<std::vector<OUString> >(arOptions);
}
void NodeJava::addJRELocation(OUString const & sLocation)
@@ -1024,26 +1012,13 @@ bool MergedSettings::getJavaInfoAttrAutoSelect() const
return m_javaInfo.bAutoSelect;
}
#endif
-void MergedSettings::getVmParametersArray(
- rtl_uString *** parParams, sal_Int32 * size) const
+void MergedSettings::getVmParametersArray(std::vector<OUString> * parParams)
+ const
{
- assert(parParams != nullptr && size != nullptr);
+ assert(parParams != nullptr);
osl::MutexGuard guard(FwkMutex::get());
- *parParams = static_cast<rtl_uString **>(
- rtl_allocateMemory(sizeof(rtl_uString*) * m_vmParams.size()));
- if (*parParams == nullptr)
- return;
-
- int j=0;
- typedef std::vector<OUString>::const_iterator it;
- for (it i = m_vmParams.begin(); i != m_vmParams.end();
- ++i, ++j)
- {
- (*parParams)[j] = i->pData;
- rtl_uString_acquire(i->pData);
- }
- *size = m_vmParams.size();
+ *parParams = m_vmParams;
}
}