diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport8.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport8.cxx index 6987e381c0d1..7e0b03ffe026 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport8.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport8.cxx @@ -1732,6 +1732,9 @@ DECLARE_OOXMLEXPORT_TEST(testHidemark, "hidemark.docx") CPPUNIT_ASSERT_EQUAL(convertTwipToMm100(MINLAY), getProperty(xTableRows->getByIndex(1), "Height")); // Size type was MIN, should be FIX to avoid considering the end of paragraph marker. CPPUNIT_ASSERT_EQUAL(text::SizeType::FIX, getProperty(xTableRows->getByIndex(1), "SizeType")); + + //tdf#104876: Width was not recognized during import when table size was 'auto' + CPPUNIT_ASSERT_MESSAGE("table size is less than 7000?",sal_Int32(7000) > getProperty(xTextTable, "Width")); } DECLARE_OOXMLEXPORT_TEST(testBnc891663, "bnc891663.docx") diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx index ef71cdc302ab..1c1a3c10fcde 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx @@ -157,6 +157,7 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) { pPropMap->setValue( TablePropertyMap::TABLE_WIDTH_TYPE, text::SizeType::FIX ); pPropMap->setValue( TablePropertyMap::TABLE_WIDTH, m_nTableWidth ); + m_bTableSizeTypeInserted = true; } else if( sal::static_int_cast(pMeasureHandler->getUnit()) == NS_ooxml::LN_Value_ST_TblWidth_pct ) { @@ -165,6 +166,7 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) nPercent = 100; pPropMap->setValue( TablePropertyMap::TABLE_WIDTH_TYPE, text::SizeType::VARIABLE ); pPropMap->setValue( TablePropertyMap::TABLE_WIDTH, nPercent ); + m_bTableSizeTypeInserted = true; } else if( sal::static_int_cast(pMeasureHandler->getUnit()) == NS_ooxml::LN_Value_ST_TblWidth_auto ) { @@ -192,9 +194,9 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) // Set the width type of table with 'Auto' and set the width value to 0 (as per grid values) pPropMap->setValue( TablePropertyMap::TABLE_WIDTH_TYPE, text::SizeType::VARIABLE ); pPropMap->setValue( TablePropertyMap::TABLE_WIDTH, 0 ); + m_bTableSizeTypeInserted = true; } } - m_bTableSizeTypeInserted = true; } #ifdef DEBUG_WRITERFILTER pPropMap->dumpXml();