diff options
| author | Lionel Elie Mamane <lionel@mamane.lu> | 2013-06-27 17:14:16 +0200 | 
|---|---|---|
| committer | Fridrich Strba <fridrich@documentfoundation.org> | 2013-06-28 12:56:27 +0000 | 
| commit | 60d4d5a4ec70186f64b12ebb485428e905283785 (patch) | |
| tree | ecbc33c26111ba3dcf709fdf4d8ee1c6ef918ec0 | |
| parent | 3d736faef1cfc619f965d80c0eb112dc7c7426e3 (diff) | |
fdo#66171 ListBox correctly save empty or zero BoundColumn
Change-Id: I05fa923f962191081ea3318837d3e181c183b466
Reviewed-on: https://gerrit.libreoffice.org/4590
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
| -rw-r--r-- | forms/source/component/ListBox.cxx | 5 | ||||
| -rw-r--r-- | xmloff/source/forms/elementexport.cxx | 3 | ||||
| -rw-r--r-- | xmloff/source/forms/propertyexport.cxx | 4 | ||||
| -rw-r--r-- | xmloff/source/forms/propertyexport.hxx | 11 | 
4 files changed, 17 insertions, 6 deletions
| diff --git a/forms/source/component/ListBox.cxx b/forms/source/component/ListBox.cxx index c3aba8b9bb27..6b143c40c632 100644 --- a/forms/source/component/ListBox.cxx +++ b/forms/source/component/ListBox.cxx @@ -609,6 +609,11 @@ namespace frm              _rxInStream >> nValue;              m_aBoundColumn <<= nValue;          } +        else // the constructor initialises to 1, so if it is empty, +             // we must explicitly set to empty +        { +            m_aBoundColumn = Any(); +        }          if (nVersion > 2)              readHelpTextCompatibly(_rxInStream); diff --git a/xmloff/source/forms/elementexport.cxx b/xmloff/source/forms/elementexport.cxx index 818be045f3e3..2254cec0664b 100644 --- a/xmloff/source/forms/elementexport.cxx +++ b/xmloff/source/forms/elementexport.cxx @@ -888,7 +888,8 @@ namespace xmloff                  OAttributeMetaData::getDatabaseAttributeNamespace(DA_BOUND_COLUMN),                  OAttributeMetaData::getDatabaseAttributeName(DA_BOUND_COLUMN),                  PROPERTY_BOUNDCOLUMN, -                0); +                0, +                true);              RESET_BIT( nIncludeDatabase, DA_BOUND_COLUMN );          } diff --git a/xmloff/source/forms/propertyexport.cxx b/xmloff/source/forms/propertyexport.cxx index 2af7199c184c..83f0601993ab 100644 --- a/xmloff/source/forms/propertyexport.cxx +++ b/xmloff/source/forms/propertyexport.cxx @@ -319,7 +319,7 @@ namespace xmloff      //---------------------------------------------------------------------      void OPropertyExport::exportInt16PropertyAttribute(const sal_uInt16 _nNamespaceKey, const sal_Char* _pAttributeName, -        const ::rtl::OUString& _rPropertyName, const sal_Int16 _nDefault) +        const ::rtl::OUString& _rPropertyName, const sal_Int16 _nDefault, bool force)      {          DBG_CHECK_PROPERTY( _rPropertyName, sal_Int16 ); @@ -328,7 +328,7 @@ namespace xmloff          m_xProps->getPropertyValue( _rPropertyName ) >>= nCurrentValue;          // add the attribute -        if (_nDefault != nCurrentValue) +        if (force || _nDefault != nCurrentValue)          {              // let the formatter of the export context build a string              ::rtl::OUStringBuffer sBuffer; diff --git a/xmloff/source/forms/propertyexport.hxx b/xmloff/source/forms/propertyexport.hxx index cab0764430d7..191f55a7bbcb 100644 --- a/xmloff/source/forms/propertyexport.hxx +++ b/xmloff/source/forms/propertyexport.hxx @@ -160,14 +160,19 @@ namespace xmloff              @param _pPropertyName                  the name of the property to ask the control for              @param _nDefault -                the default of the attribute. If the current property value equals this default, no -                attribute is added. +                the default of the attribute. See force parameter. +            @param force +                if true and the property is not set or does not contain a sal_Int16, +                then _nDefault is written out. +                if false and the current property value equals _nDefault, +                then no attribute is added.          */          void exportInt16PropertyAttribute(              const sal_uInt16 _nNamespaceKey,              const sal_Char* _pAttributeName,              const ::rtl::OUString& _rPropertyName, -            const sal_Int16 _nDefault); +            const sal_Int16 _nDefault, +            const bool force = false);          /** add an attribute which is represented by a sal_Int32 property to the export context | 
