[Libreoffice-commits] core.git: 2 commits - oox/source sd/qa

Miklos Vajna vmiklos at collabora.co.uk
Wed Nov 5 03:24:18 PST 2014


 oox/source/export/drawingml.cxx          |    7 +++++--
 oox/source/export/ooxml-export-notes.txt |    5 ++++-
 sd/qa/unit/data/fdo79731.odp             |binary
 sd/qa/unit/export-tests.cxx              |   11 +++++++++++
 4 files changed, 20 insertions(+), 3 deletions(-)

New commits:
commit 02e52b15908a6d89b4aeb3c349e7414240eb9563
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed Nov 5 11:11:45 2014 +0100

    fdo#85813 drawingML export: fix handling of impress tables
    
    Change-Id: Ia17b14c4b27e808ceab388aa33602875e67433a5

diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index df4bc23..0629f2c 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -1175,7 +1175,9 @@ void DrawingML::WriteShapeTransformation( Reference< XShape > rXShape, sal_Int32
 
         // The RotateAngle property's value is independent from any flipping, and that's exactly what we need here.
         uno::Reference<beans::XPropertySet> xPropertySet(rXShape, uno::UNO_QUERY);
-        xPropertySet->getPropertyValue("RotateAngle") >>= nRotation;
+        uno::Reference<beans::XPropertySetInfo> xPropertySetInfo = xPropertySet->getPropertySetInfo();
+        if (xPropertySetInfo->hasPropertyByName("RotateAngle"))
+            xPropertySet->getPropertyValue("RotateAngle") >>= nRotation;
     }
     WriteTransformation( Rectangle( Point( aPos.X, aPos.Y ), Size( aSize.Width, aSize.Height ) ), nXmlNamespace, bFlipH, bFlipV, OOX_DRAWINGML_EXPORT_ROTATE_CLOCKWISIFY(nRotation) );
 }
@@ -1968,7 +1970,8 @@ void DrawingML::WriteText( Reference< XInterface > rXIface, const OUString& pres
     if( !enumeration.is() )
         return;
 
-    SdrObject* pSdrObject = GetSdrObjectFromXShape(uno::Reference<drawing::XShape>(rXIface, uno::UNO_QUERY_THROW));
+    uno::Reference<drawing::XShape> xShape(rXIface, uno::UNO_QUERY);
+    SdrObject* pSdrObject = xShape.is() ? GetSdrObjectFromXShape(xShape) : 0;
     const SdrTextObj* pTxtObj = PTR_CAST(SdrTextObj, pSdrObject);
     if (pTxtObj && mpTextExport)
     {
diff --git a/sd/qa/unit/data/fdo79731.odp b/sd/qa/unit/data/fdo79731.odp
new file mode 100644
index 0000000..d5d094a
Binary files /dev/null and b/sd/qa/unit/data/fdo79731.odp differ
diff --git a/sd/qa/unit/export-tests.cxx b/sd/qa/unit/export-tests.cxx
index 61aead3..a33a2a9 100644
--- a/sd/qa/unit/export-tests.cxx
+++ b/sd/qa/unit/export-tests.cxx
@@ -71,6 +71,7 @@ public:
     void testBnc862510_5();
     void testBnc822347_EmptyBullet();
     void testFdo83751();
+    void testFdo79731();
 
     CPPUNIT_TEST_SUITE(SdExportTest);
     CPPUNIT_TEST(testN821567);
@@ -85,6 +86,7 @@ public:
     CPPUNIT_TEST(testBnc862510_5);
     CPPUNIT_TEST(testBnc822347_EmptyBullet);
     CPPUNIT_TEST(testFdo83751);
+    CPPUNIT_TEST(testFdo79731);
     CPPUNIT_TEST_SUITE_END();
 };
 
@@ -477,6 +479,15 @@ void SdExportTest::testFdo83751()
     xDocShRef->DoClose();
 }
 
+void SdExportTest::testFdo79731()
+{
+    ::sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/fdo79731.odp"), ODP);
+    xDocShRef = saveAndReload(xDocShRef, PPTX);
+    SdDrawDocument *pDoc = xDocShRef->GetDoc();
+    CPPUNIT_ASSERT(pDoc);
+    xDocShRef->DoClose();
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(SdExportTest);
 
 CPPUNIT_PLUGIN_IMPLEMENT();
commit 8ee7e6534fdee89fdfd76750f31c61074dc1640b
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed Nov 5 10:34:06 2014 +0100

    oox: document PPTX export entry point
    
    Change-Id: I8102f31d46257c96837b6c9497e9c49f92ac29b1

diff --git a/oox/source/export/ooxml-export-notes.txt b/oox/source/export/ooxml-export-notes.txt
index 0f15f76..9855c1d 100644
--- a/oox/source/export/ooxml-export-notes.txt
+++ b/oox/source/export/ooxml-export-notes.txt
@@ -36,7 +36,6 @@ Related modules
 
 - writerfilter
   - import of .docx, uses also oox for the graphics etc.
-  - can also parse .doc; but used for ooxml only for now
 
 - filter
   - the configuration stuff (so that the filters appear in the filepicker)
@@ -177,6 +176,10 @@ Old binary filters (export)
     #4  0x00002aec23119b58 in SfxObjectShell::DoLoad ()
        from /local/ooxml/inst/openoffice.org3.0/program/../basis-link/program//libsfxlx.so
 
+- pptx export
+  - sd/source/filter/eppt/pptx-epptooxml.cxx,
+    oox::core::PowerPointExport::exportDocument()
+
 - odp export
     #0  ZipPackage (this=0x1805e80, xNewFactory=@0x7fffe284e990) at /home/rodo/git/ooxml/package/source/zippackage/ZipPackage.cxx:279
     #1  0x00002aaaadd3dc94 in ZipPackage_createInstance (xMgr=@0x7fffe284e990) at /home/rodo/git/ooxml/package/source/zippackage/ZipPackage.cxx:1546


More information about the Libreoffice-commits mailing list