summaryrefslogtreecommitdiff
path: root/formula
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2020-05-29 15:45:12 +0200
committerEike Rathke <erack@redhat.com>2020-05-30 02:43:23 +0200
commitf92220b73d971e9d760c545efd60179ad1b6902a (patch)
tree7a10ed0d7b8af003cf2cc6dd7bef17fea1eb7b53 /formula
parent575e938641c643e58fea8e7bdabfee87daeffedd (diff)
Related: tdf#131423 CHOOSE() supports only 30 jump targets, limit in dialog
Change-Id: Ic3506ee6194ac4e74e572a10db96f100bc9e6ac2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95149 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins (cherry picked from commit f2c6bc3c1ba640f95555151607dfe9da502d506a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95123
Diffstat (limited to 'formula')
-rw-r--r--formula/source/ui/dlg/FormulaHelper.cxx1
-rw-r--r--formula/source/ui/dlg/parawin.cxx2
2 files changed, 3 insertions, 0 deletions
diff --git a/formula/source/ui/dlg/FormulaHelper.cxx b/formula/source/ui/dlg/FormulaHelper.cxx
index 5604c315b7f7..709a927e5040 100644
--- a/formula/source/ui/dlg/FormulaHelper.cxx
+++ b/formula/source/ui/dlg/FormulaHelper.cxx
@@ -48,6 +48,7 @@ namespace formula
virtual bool isHidden() const override { return false; }
virtual sal_uInt32 getParameterCount() const override { return 0; }
virtual sal_uInt32 getVarArgsStart() const override { return 0; }
+ virtual sal_uInt32 getVarArgsLimit() const override { return 0; }
virtual OUString getParameterName(sal_uInt32 ) const override { return OUString(); }
virtual OUString getParameterDescription(sal_uInt32 ) const override { return OUString(); }
virtual bool isParameterOptional(sal_uInt32 ) const override { return false; }
diff --git a/formula/source/ui/dlg/parawin.cxx b/formula/source/ui/dlg/parawin.cxx
index ceb50d8d7e6d..49e28c963bfe 100644
--- a/formula/source/ui/dlg/parawin.cxx
+++ b/formula/source/ui/dlg/parawin.cxx
@@ -318,6 +318,8 @@ void ParaWin::SetFunctionDesc(const IFunctionDescription* pFDesc)
}
nArgs = pFuncDesc->getSuppressedArgumentCount();
nMaxArgs = std::min( nArgs, kMaxArgCount);
+ if (sal_uInt16 nVarArgsLimit = pFuncDesc->getVarArgsLimit())
+ nMaxArgs = std::min( nVarArgsLimit, nMaxArgs);
pFuncDesc->fillVisibleArgumentMapping(aVisibleArgMapping);
m_xSlider->set_vpolicy(VclPolicyType::NEVER);
m_xSlider->set_size_request(-1, -1);