diff options
author | Tünde Tóth <toth.tunde@nisz.hu> | 2022-01-19 14:53:50 +0100 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2022-02-02 17:27:00 +0100 |
commit | 1bce0e3004e3ec9d62a3c43801f8f2e8ef5f7fdb (patch) | |
tree | fc16f38f3dc356717a9b7df8c7adda306c8aafb7 /sd | |
parent | 6c4bc632180c25b3ceb30e32383b3f5db8eaf0e2 (diff) |
tdf#112209 PPTX import: fix grayscale effect on image filled shape
Some image filled shapes with grayscale effect in PPTX documents
created with PowerPoint were not grayscale in Impress.
Change-Id: I0a89f283f525eb47c21c5d5fa788484d8074a7e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128616
Tested-by: Jenkins
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/qa/unit/data/pptx/tdf112209.pptx | bin | 0 -> 28536 bytes | |||
-rw-r--r-- | sd/qa/unit/import-tests2.cxx | 26 |
2 files changed, 26 insertions, 0 deletions
diff --git a/sd/qa/unit/data/pptx/tdf112209.pptx b/sd/qa/unit/data/pptx/tdf112209.pptx Binary files differnew file mode 100644 index 000000000000..80865820dfad --- /dev/null +++ b/sd/qa/unit/data/pptx/tdf112209.pptx diff --git a/sd/qa/unit/import-tests2.cxx b/sd/qa/unit/import-tests2.cxx index 04e365bfa130..7c0844e354b9 100644 --- a/sd/qa/unit/import-tests2.cxx +++ b/sd/qa/unit/import-tests2.cxx @@ -127,6 +127,7 @@ public: void testTdf49856(); void testTdf103347(); void testHyperlinksOnShapes(); + void testTdf112209(); CPPUNIT_TEST_SUITE(SdImportTest2); @@ -190,6 +191,7 @@ public: CPPUNIT_TEST(testTdf134210CropPosition); CPPUNIT_TEST(testTdf103347); CPPUNIT_TEST(testHyperlinksOnShapes); + CPPUNIT_TEST(testTdf112209); CPPUNIT_TEST_SUITE_END(); }; @@ -1864,6 +1866,30 @@ void SdImportTest2::testHyperlinksOnShapes() xDocShRef->DoClose(); } +void SdImportTest2::testTdf112209() +{ + sd::DrawDocShellRef xDocShRef + = loadURL(m_directories.getURLFromSrc(u"sd/qa/unit/data/pptx/tdf112209.pptx"), PPTX); + uno::Reference<beans::XPropertySet> xShape(getShapeFromPage(0, 0, xDocShRef), + uno::UNO_SET_THROW); + CPPUNIT_ASSERT(xShape.is()); + + uno::Reference<graphic::XGraphic> xGraphic; + xShape->getPropertyValue("FillBitmap") >>= xGraphic; + CPPUNIT_ASSERT(xGraphic.is()); + + Graphic aGraphic(xGraphic); + BitmapEx aBitmap(aGraphic.GetBitmapEx()); + + // Without the accompanying fix in place, this test would have failed with: + // - Expected: Color: R:132 G:132 B:132 A:0 + // - Actual : Color: R:21 G:170 B:236 A:0 + // i.e. the image color was blue instead of grey. + CPPUNIT_ASSERT_EQUAL(Color(0x848484), aBitmap.GetPixelColor(0, 0)); + + xDocShRef->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTest2); CPPUNIT_PLUGIN_IMPLEMENT(); |