sc/source/filter/oox/numberformatsbuffer.cxx | 2 +- sc/source/filter/oox/stylesbuffer.cxx | 25 +++++++++++-------------- 2 files changed, 12 insertions(+), 15 deletions(-)
New commits: commit bf8e9b29aaebcbdd8f2f06b42ac97b8d9f8f4503 Author: Noel Power <noel.po...@suse.com> Date: Wed May 22 10:00:34 2013 +0100 fix for bnc#819865 itemstate in parent style incorrectly reported as set Problem occurs because attrs set with default values are reported as set when queried Change-Id: I89d6c3b09312fb78052d87ff20aa12c6fbe7bc98 diff --git a/sc/source/filter/oox/numberformatsbuffer.cxx b/sc/source/filter/oox/numberformatsbuffer.cxx index 4baa33e..8f7935d 100644 --- a/sc/source/filter/oox/numberformatsbuffer.cxx +++ b/sc/source/filter/oox/numberformatsbuffer.cxx @@ -2049,7 +2049,7 @@ void NumberFormatsBuffer::insertBuiltinFormats() { // do not put the current system locale for default table Locale aLocale; - if( (*aVIt)->mpcLocale[ 0 ] != '\0' ) + if( (*aVIt)->mpcParent[ 0 ] != '\0' ) aLocale = aSysLocale; for( const BuiltinFormat* pBuiltin = (*aVIt)->mpFormats; pBuiltin && (pBuiltin->mnNumFmtId >= 0); ++pBuiltin ) { diff --git a/sc/source/filter/oox/stylesbuffer.cxx b/sc/source/filter/oox/stylesbuffer.cxx index fc3ee80..4d4a205 100644 --- a/sc/source/filter/oox/stylesbuffer.cxx +++ b/sc/source/filter/oox/stylesbuffer.cxx @@ -2274,7 +2274,6 @@ void Xf::finalizeImport() // alignment and protection maAlignment.finalizeImport(); maProtection.finalizeImport(); - createPattern(); } FontRef Xf::getFont() const @@ -2371,8 +2370,12 @@ Xf::createPattern( bool bSkipPoolDefs ) StylesBuffer& rStyles = getStyles(); const Xf* pStyleXf = isCellXf() ? rStyles.getStyleXf( maModel.mnStyleXfId ).get() : 0; - if( pStyleXf ) + if( pStyleXf && !mpStyleSheet ) { + rStyles.createCellStyle( maModel.mnStyleXfId ); + mpStyleSheet = rStyles.getCellStyleSheet( maModel.mnStyleXfId ); + OSL_ENSURE( mpStyleSheet, "Xf::createPattern - no parentStyle created" ); + const XfModel& rStyleData = pStyleXf->maModel; if( !maModel.mbFontUsed ) maModel.mbFontUsed = !rStyleData.mbFontUsed || (maModel.mnFontId != rStyleData.mnFontId); @@ -2741,8 +2744,13 @@ void CellStyle::createCellStyle() { // #i1624# #i1768# ignore unnamed user styles + bool bDefStyle = maModel.isDefaultStyle(); if( !mbCreated ) + { + if ( bDefStyle && maFinalName.isEmpty() ) + maFinalName = ScGlobal::GetRscString( STR_STYLENAME_STANDARD ); mbCreated = maFinalName.isEmpty(); + } if( !mbCreated && !mpStyleSheet ) { @@ -2750,12 +2758,11 @@ void CellStyle::createCellStyle() Xf* pXF = getStyles().getStyleXf( maModel.mnXfId ).get(); ::ScDocument& rDoc = getScDocument(); - bool bDefStyle = maModel.isDefaultStyle(); if( bDefStyle ) { // use existing "Default" style sheet mpStyleSheet = static_cast< ScStyleSheet* >( static_cast< ScStyleSheetPool* >( rDoc.GetStyleSheetPool() )->Find( - getStyles().getDefaultStyleName(), SFX_STYLE_FAMILY_PARA ) ); + ScGlobal::GetRscString( STR_STYLENAME_STANDARD ), SFX_STYLE_FAMILY_PARA ) ); OSL_ENSURE( mpStyleSheet, "CellStyle::createStyle - Default style not found" ); bCreatePattern = true; } @@ -2891,16 +2898,6 @@ void CellStyleBuffer::finalizeImport() // set final names and create user-defined and modified built-in cell styles aCellStyles.forEachMemWithKey( &CellStyle::finalizeImport ); - - if (mxDefStyle) - { - Reference<XNameAccess> xNA(getStyleFamily(false), UNO_QUERY_THROW); - if (xNA->hasByName("Default")) - { - PropertySet aPropSet(xNA->getByName("Default")); - getStyles().writeStyleXfToPropertySet(aPropSet, mxDefStyle->getModel().mnXfId); - } - } } sal_Int32 CellStyleBuffer::getDefaultXfId() const _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits