summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorIlhan Yesil <ilhanyesil@gmx.de>2020-06-10 10:01:00 +0200
committerMichael Meeks <michael.meeks@collabora.com>2020-06-30 10:15:05 +0100
commit86305ecbc67cb8260fa56ecd6cb39a66c2dd75a3 (patch)
tree133a61902fb444747a093788fcd93d13ebb10834 /vcl/source
parentd352bc02f60ccaadf8967418081ed8fd24997261 (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
Diffstat (limited to 'vcl/source')
-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);