diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx index 63d8c5a4d422..e832227071e7 100644 --- a/oox/source/drawingml/shape.cxx +++ b/oox/source/drawingml/shape.cxx @@ -307,7 +307,6 @@ void Shape::applyShapeReference( const Shape& rReferencedShape, bool bUseText ) mpTablePropertiesPtr = table::TablePropertiesPtr( rReferencedShape.mpTablePropertiesPtr.get() ? new table::TableProperties( *rReferencedShape.mpTablePropertiesPtr.get() ) : nullptr ); mpShapeRefEffectPropPtr = EffectPropertiesPtr( new EffectProperties( *rReferencedShape.mpEffectPropertiesPtr.get() ) ); mpMasterTextListStyle = TextListStylePtr( new TextListStyle( *rReferencedShape.mpMasterTextListStyle.get() ) ); - maShapeStyleRefs = rReferencedShape.maShapeStyleRefs; maSize = rReferencedShape.maSize; maPosition = rReferencedShape.maPosition; mnRotation = rReferencedShape.mnRotation; diff --git a/sd/qa/unit/data/pptx/tdf95932.pptx b/sd/qa/unit/data/pptx/tdf95932.pptx new file mode 100644 index 000000000000..5e22b1158137 Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf95932.pptx differ diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index 9ae03fce4050..da4d4c49db67 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -111,6 +111,7 @@ public: void testTdf62255(); void testTdf89927(); void testTdf93868(); + void testTdf95932(); CPPUNIT_TEST_SUITE(SdImportTest); @@ -156,6 +157,7 @@ public: CPPUNIT_TEST(testTdf62255); CPPUNIT_TEST(testTdf89927); CPPUNIT_TEST(testTdf93868); + CPPUNIT_TEST(testTdf95932); CPPUNIT_TEST_SUITE_END(); }; @@ -1233,6 +1235,24 @@ void SdImportTest::testTdf93868() xDocShRef->DoClose(); } +void SdImportTest::testTdf95932() +{ + sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/tdf95932.pptx"), PPTX); + + const SdrPage *pPage = GetPage( 1, xDocShRef ); + SdrObject *const pObj = pPage->GetObj(2); + CPPUNIT_ASSERT(pObj); + + const XFillStyleItem& rStyleItem = dynamic_cast( + pObj->GetMergedItem(XATTR_FILLSTYLE)); + CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_SOLID, rStyleItem.GetValue()); + const XFillColorItem& rColorItem = dynamic_cast( + pObj->GetMergedItem(XATTR_FILLCOLOR)); + CPPUNIT_ASSERT_EQUAL(ColorData(0x76bf3d), rColorItem.GetColorValue().GetColor()); + + xDocShRef->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTest); CPPUNIT_PLUGIN_IMPLEMENT();