summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2019-12-02 17:14:22 +0100
committerStephan Bergmann <sbergman@redhat.com>2019-12-03 09:50:24 +0100
commit923cb4c8f9780a8703bf37856bc2abfc3e31929e (patch)
tree57df2f2ec060bab32c3e5d416bcff82af1024d80
parentb31c39cbc843e77c8d97dbb2e559b48b21202ba6 (diff)
Make OpenCLMinimumDataSize configuration property non-nillable
It had curiously been added as nillable (by default) alongside other properties that were added as non-nillable with ef809ce9480182ea5c4f77843f72d1d45bd48c35 "More work on the new OpenCL options", but with a non-nil default value, and no code sets a nil value, and ScModelObj::getFormulaCellNumberLimit, which reads its value and expects it to be non-nil, would cause UB if it was nil. So make it non-nillable and thereby simplify the code handling it. (Similar to how e8bb827571f540ac4af2247cb11239bb96876669 "Fixed cppheader.xsl nillable treatment" retrofitted lots of existing properties to be non-nillable in the past.) Change-Id: I60ac95025f363e346f3102ef80f38d00862e6e9a Reviewed-on: https://gerrit.libreoffice.org/84248 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
-rw-r--r--desktop/source/app/opencl.cxx2
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/Calc.xcs2
-rw-r--r--sc/source/ui/unoobj/docuno.cxx2
3 files changed, 3 insertions, 3 deletions
diff --git a/desktop/source/app/opencl.cxx b/desktop/source/app/opencl.cxx
index 766ac5011ab9..4cbea032a15c 100644
--- a/desktop/source/app/opencl.cxx
+++ b/desktop/source/app/opencl.cxx
@@ -227,7 +227,7 @@ void Desktop::CheckOpenCLCompute(const Reference< XDesktop2 > &xDesktop)
{
// OpenCL device changed - sanity check it and disable if bad.
- o3tl::optional<sal_Int32> nOrigMinimumSize = officecfg::Office::Calc::Formula::Calculation::OpenCLMinimumDataSize::get();
+ sal_Int32 nOrigMinimumSize = officecfg::Office::Calc::Formula::Calculation::OpenCLMinimumDataSize::get();
{ // set the minimum group size to something small for quick testing.
std::shared_ptr<comphelper::ConfigurationChanges> xBatch(comphelper::ConfigurationChanges::create());
officecfg::Office::Calc::Formula::Calculation::OpenCLMinimumDataSize::set(3 /* small */, xBatch);
diff --git a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
index a7f683a4fec5..8cd789e9a9ad 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
@@ -1475,7 +1475,7 @@
</info>
<value>true</value>
</prop>
- <prop oor:name="OpenCLMinimumDataSize" oor:type="xs:int">
+ <prop oor:name="OpenCLMinimumDataSize" oor:type="xs:int" oor:nillable="false">
<info>
<desc>An approximate lower limit on the number of data cells a spreadsheet formula should use for OpenCL to be considered.</desc>
</info>
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index 12de81d3556b..eb1e35383c61 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -3338,7 +3338,7 @@ void ScModelObj::setFormulaCellNumberLimit( sal_Int32 number )
sal_Int32 ScModelObj::getFormulaCellNumberLimit()
{
- return *officecfg::Office::Calc::Formula::Calculation::OpenCLMinimumDataSize::get();
+ return officecfg::Office::Calc::Formula::Calculation::OpenCLMinimumDataSize::get();
}
ScDrawPagesObj::ScDrawPagesObj(ScDocShell* pDocSh) :