[Libreoffice-commits] core.git: desktop/source officecfg/registry sc/source

Stephan Bergmann (via logerrit) logerrit at kemper.freedesktop.org
Tue Dec 3 08:51:48 UTC 2019


 desktop/source/app/opencl.cxx                            |    2 +-
 officecfg/registry/schema/org/openoffice/Office/Calc.xcs |    2 +-
 sc/source/ui/unoobj/docuno.cxx                           |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 923cb4c8f9780a8703bf37856bc2abfc3e31929e
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Mon Dec 2 17:14:22 2019 +0100
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Tue Dec 3 09:50:24 2019 +0100

    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 at redhat.com>

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) :


More information about the Libreoffice-commits mailing list