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-20 01:45:22 +0200
commit54a3daec02f2eeada04efcd7958da4152db4611a (patch)
tree7445ed3bc2e9f421e66ce128327e9fb5e24826da
parenta46ab778d93d535d5866c7d0cc4a609bcf38182e (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>
-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 3b954c156ccf..9f7e6a0e12ef 100644
--- a/vcl/source/control/roadmap.cxx
+++ b/vcl/source/control/roadmap.cxx
@@ -208,6 +208,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 3e887ad922b7..d73cc1a18a5b 100644
--- a/vcl/source/control/roadmapwizard.cxx
+++ b/vcl/source/control/roadmapwizard.cxx
@@ -586,6 +586,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);