tdf#137652 fix XDL import: no more missing empty items for combobox

Change-Id: I6837968ee7cc5e4b3bc9abd7e320f562c6ff0833
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104619
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
(cherry picked from commit f4a5893eceabc1f6d541164a0e858456f0ce0905)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104679
diff --git a/xmlscript/source/xmldlg_imexp/imp_share.hxx b/xmlscript/source/xmldlg_imexp/imp_share.hxx
index 977625b..6d8e912 100644
--- a/xmlscript/source/xmldlg_imexp/imp_share.hxx
+++ b/xmlscript/source/xmldlg_imexp/imp_share.hxx
@@ -311,6 +311,7 @@ class MenuPopupElement
{
    std::vector< OUString > _itemValues;
    std::vector< sal_Int16 > _itemSelected;
    bool _allowEmptyItems;
public:
    css::uno::Sequence< OUString > getItemValues();
    css::uno::Sequence< sal_Int16 > getSelectedItems();
@@ -323,9 +324,11 @@ public:
    MenuPopupElement(
        OUString const & rLocalName,
        css::uno::Reference< css::xml::input::XAttributes > const & xAttributes,
        ElementBase * pParent, DialogImport * pImport )
        ElementBase * pParent, DialogImport * pImport,
        bool aAllowEmptyItems)
        : ElementBase( pImport->XMLNS_DIALOGS_UID,
                       rLocalName, xAttributes, pParent, pImport )
        , _allowEmptyItems(aAllowEmptyItems)
        {}
};

diff --git a/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx b/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx
index 6407765..f3ed895 100644
--- a/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx
+++ b/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx
@@ -1275,8 +1275,8 @@ Reference< xml::input::XElement > MenuPopupElement::startChildElement(
    else if ( rLocalName == "menuitem" )
    {
        OUString aValue( xAttributes->getValueByUidName( m_xImport->XMLNS_DIALOGS_UID,"value" ) );
        SAL_WARN_IF( aValue.isEmpty(), "xmlscript.xmldlg", "### menuitem has no value?" );
        if (!aValue.isEmpty())
        SAL_WARN_IF( aValue.isEmpty() && !_allowEmptyItems, "xmlscript.xmldlg", "### menuitem has no value?" );
        if ((!aValue.isEmpty()) || _allowEmptyItems)
        {
            _itemValues.push_back( aValue );

@@ -1331,7 +1331,7 @@ Reference< xml::input::XElement > MenuListElement::startChildElement(
    // menupopup
    else if ( rLocalName == "menupopup" )
    {
        _popup = new MenuPopupElement( rLocalName, xAttributes, this, m_xImport.get() );
        _popup = new MenuPopupElement( rLocalName, xAttributes, this, m_xImport.get(), false );
        return _popup;
    }
    else
@@ -1399,7 +1399,7 @@ Reference< xml::input::XElement > ComboBoxElement::startChildElement(
    // menupopup
    else if ( rLocalName == "menupopup" )
    {
        _popup = new MenuPopupElement( rLocalName, xAttributes, this, m_xImport.get() );
        _popup = new MenuPopupElement( rLocalName, xAttributes, this, m_xImport.get(), true );
        return _popup;
    }
    else