summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlhan Yesil <ilhanyesil@gmx.de>2020-06-10 10:01:00 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2020-06-25 00:29:48 +0200
commitcd971797acea4611dc51fb0fcc08632f83bd10c1 (patch)
treebedc7dfa3219ac21e392095cb506cd5a0be3222e
parentfc21af5186ec7be919779f8f0bc1dc1e3f89bf77 (diff)
tdf#133859 Wizard service: disable 'Next' button if path has only base item
If the wizard dialog for extensions has only the base item in the first path, there is no need to proceed to the next page, as there is no one. This will be checked and if so, the 'Next' button disabled. In libreoffice versions before 6.4, an ORoadmap class was used in the wizard. There, if the ORoadmap data are reinitialized, the InCompleteHyperLabel object must be destroyed first, before it will be set to nullptr. Change-Id: I5b4b2e6b3666b58acccace385c622f0a065fc368 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95969 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit 54a3daec02f2eeada04efcd7958da4152db4611a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96795
-rw-r--r--vcl/source/control/roadmap.cxx1
-rw-r--r--vcl/source/control/roadmapwizard.cxx5
2 files changed, 6 insertions, 0 deletions
diff --git a/vcl/source/control/roadmap.cxx b/vcl/source/control/roadmap.cxx
index 8d228e629c4b..9dbf0ab17456 100644
--- a/vcl/source/control/roadmap.cxx
+++ b/vcl/source/control/roadmap.cxx
@@ -204,6 +204,7 @@ ORoadmap::ORoadmap(vcl::Window* _pParent, WinBits _nWinStyle)
void ORoadmap::implInit(vcl::RenderContext& rRenderContext)
{
+ delete m_pImpl->InCompleteHyperLabel;
m_pImpl->InCompleteHyperLabel = nullptr;
m_pImpl->setCurItemID(-1);
m_pImpl->setComplete(true);
diff --git a/vcl/source/control/roadmapwizard.cxx b/vcl/source/control/roadmapwizard.cxx
index 160724c78ab3..bc84ce616551 100644
--- a/vcl/source/control/roadmapwizard.cxx
+++ b/vcl/source/control/roadmapwizard.cxx
@@ -580,6 +580,11 @@ namespace vcl
{
// check how many paths are still allowed
const WizardPath& rActivePath( m_pImpl->aPaths[ m_pImpl->nActivePath ] );
+
+ // if current path has only the base item, it is not possible to proceed without activating another path
+ if(rActivePath.size()<=1)
+ return false;
+
sal_Int32 nCurrentStatePathIndex = RoadmapWizardImpl::getStateIndexInPath( getCurrentState(), rActivePath );
size_t nPossiblePaths(0);