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
diff --git a/vcl/source/control/roadmap.cxx b/vcl/source/control/roadmap.cxx
index 8d228e6..9dbf0ab174 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 160724c..bc84ce6 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);