diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2019-12-02 17:14:22 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2019-12-03 09:50:24 +0100 |
commit | 923cb4c8f9780a8703bf37856bc2abfc3e31929e (patch) | |
tree | 57df2f2ec060bab32c3e5d416bcff82af1024d80 | |
parent | b31c39cbc843e77c8d97dbb2e559b48b21202ba6 (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.cxx | 2 | ||||
-rw-r--r-- | officecfg/registry/schema/org/openoffice/Office/Calc.xcs | 2 | ||||
-rw-r--r-- | sc/source/ui/unoobj/docuno.cxx | 2 |
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) : |