summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/oox/ppt/presPropsfragmenthandler.hxx1
-rw-r--r--oox/source/ppt/presPropsfragmenthandler.cxx2
-rw-r--r--sd/qa/unit/data/pptx/tdf142915.pptxbin0 -> 34231 bytes
-rw-r--r--sd/qa/unit/import-tests.cxx19
4 files changed, 22 insertions, 0 deletions
diff --git a/include/oox/ppt/presPropsfragmenthandler.hxx b/include/oox/ppt/presPropsfragmenthandler.hxx
index 5125ee3357c7..18a2a97aa9cd 100644
--- a/include/oox/ppt/presPropsfragmenthandler.hxx
+++ b/include/oox/ppt/presPropsfragmenthandler.hxx
@@ -32,6 +32,7 @@ public:
private:
bool m_bLoop = false;
+ bool m_bTiming = true;
OUString m_sId;
OUString m_sSt;
};
diff --git a/oox/source/ppt/presPropsfragmenthandler.cxx b/oox/source/ppt/presPropsfragmenthandler.cxx
index ca466177e944..708f194853fb 100644
--- a/oox/source/ppt/presPropsfragmenthandler.cxx
+++ b/oox/source/ppt/presPropsfragmenthandler.cxx
@@ -41,6 +41,7 @@ void PresPropsFragmentHandler::finalizeImport()
css::uno::Reference<css::beans::XPropertySet> xPresentationProps(
xPresentationSupplier->getPresentation(), css::uno::UNO_QUERY_THROW);
xPresentationProps->setPropertyValue("IsEndless", css::uno::Any(m_bLoop));
+ xPresentationProps->setPropertyValue("IsAutomatic", css::uno::Any(!m_bTiming));
if (!m_sId.isEmpty())
{
@@ -73,6 +74,7 @@ core::ContextHandlerRef PresPropsFragmentHandler::onCreateContext(sal_Int32 aEle
return this;
case PPT_TOKEN(showPr):
m_bLoop = rAttribs.getBool(XML_loop, false);
+ m_bTiming = rAttribs.getBool(XML_useTimings, true);
return this;
case PPT_TOKEN(custShow):
m_sId = rAttribs.getString(XML_id).get();
diff --git a/sd/qa/unit/data/pptx/tdf142915.pptx b/sd/qa/unit/data/pptx/tdf142915.pptx
new file mode 100644
index 000000000000..889a08fd50a1
--- /dev/null
+++ b/sd/qa/unit/data/pptx/tdf142915.pptx
Binary files differ
diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index 5978bf42aa01..742fb7712750 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -122,6 +122,7 @@ public:
virtual void setUp() override;
void testDocumentLayout();
+ void testTdf142915();
void testTdf142913();
void testTdf142590();
void testCustomSlideShow();
@@ -243,6 +244,7 @@ public:
CPPUNIT_TEST_SUITE(SdImportTest);
CPPUNIT_TEST(testDocumentLayout);
+ CPPUNIT_TEST(testTdf142915);
CPPUNIT_TEST(testTdf142913);
CPPUNIT_TEST(testTdf142590);
CPPUNIT_TEST(testCustomSlideShow);
@@ -440,6 +442,23 @@ void SdImportTest::testDocumentLayout()
}
}
+void SdImportTest::testTdf142915()
+{
+ ::sd::DrawDocShellRef xDocShRef
+ = loadURL(m_directories.getURLFromSrc(u"/sd/qa/unit/data/pptx/tdf142915.pptx"), PPTX);
+
+ uno::Reference<presentation::XPresentationSupplier> xPresentationSupplier(
+ xDocShRef->GetDoc()->getUnoModel(), uno::UNO_QUERY_THROW);
+ uno::Reference<beans::XPropertySet> xPresentationProps(xPresentationSupplier->getPresentation(),
+ uno::UNO_QUERY_THROW);
+
+ bool bChangeManually = xPresentationProps->getPropertyValue("IsAutomatic").get<bool>();
+
+ CPPUNIT_ASSERT_EQUAL(true, bChangeManually);
+
+ xDocShRef->DoClose();
+}
+
void SdImportTest::testTdf142913()
{
::sd::DrawDocShellRef xDocShRef