sw/qa/extras/ooxmlimport/data/test_extra_image.docx |binary
 sw/qa/extras/ooxmlimport/ooxmlimport.cxx            |    8 ++++++++
 writerfilter/source/dmapper/NumberingManager.cxx    |   10 ++++++++++
 3 files changed, 18 insertions(+)

New commits:
commit cebb4abec105c2576b065853eb48af9be1d9fde6
Author: Tushar Bende <tushar.be...@synerzip.com>
Date:   Fri Apr 11 22:47:33 2014 +0530

    fdo#74652 : Extra image gets added to the document body after RT.
    
    Description: There was a problem for some documents, that when opened in 
LibreOffice
    extra image was getting added to the first page of the doc and same could 
be noticed
    even in RoundTripped doc.
    
    The root cause was if picture bullet is added to the doc and there is no 
<w:lvlPicBulletId> tag
    in <w:lvl> of <w:abstractNum> then removal of extra added graphic object 
from document body was
    getting missed because currently that is handled in 
ListsManager::lcl_sprm() inside "case NS_ooxml::LN_CT_Lvl_lvlPicBulletId".
    
    Checking if there is any remaining item in m_aNumPicBullets when LO hits 
the ListsManager destructor.
    If there is any calling dispose() for all of them.
    
    Change-Id: Ibfc3c93b68ff7d6ef0909fe789dda6db67ac11e2
    Reviewed-on: https://gerrit.libreoffice.org/8940
    Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk>
    Tested-by: Miklos Vajna <vmik...@collabora.co.uk>

diff --git a/sw/qa/extras/ooxmlimport/data/test_extra_image.docx 
b/sw/qa/extras/ooxmlimport/data/test_extra_image.docx
new file mode 100644
index 0000000..cdb05af
Binary files /dev/null and 
b/sw/qa/extras/ooxmlimport/data/test_extra_image.docx differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx 
b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index 8961eed..6e3388b 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -2011,6 +2011,14 @@ DECLARE_OOXMLIMPORT_TEST(testFdo38414, "fdo38414.docx" )
     CPPUNIT_ASSERT_EQUAL( height3, height4 );
 }
 
+DECLARE_OOXMLIMPORT_TEST(test_extra_image, "test_extra_image.docx" )
+{
+    // fdo#74652 Check there is no shape added to the doc during import
+    uno::Reference<drawing::XDrawPageSupplier> xDrawPageSupplier(mxComponent, 
uno::UNO_QUERY);
+    uno::Reference<container::XIndexAccess> 
xDraws(xDrawPageSupplier->getDrawPage(), uno::UNO_QUERY);
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xDraws->getCount());
+}
+
 DECLARE_OOXMLIMPORT_TEST(testFdo74401, "fdo74401.docx")
 {
     uno::Reference<drawing::XShapes> xGroupShape(getShape(1), uno::UNO_QUERY);
diff --git a/writerfilter/source/dmapper/NumberingManager.cxx 
b/writerfilter/source/dmapper/NumberingManager.cxx
index da88e52..17e359e 100644
--- a/writerfilter/source/dmapper/NumberingManager.cxx
+++ b/writerfilter/source/dmapper/NumberingManager.cxx
@@ -710,6 +710,16 @@ ListsManager::ListsManager(DomainMapper& rDMapper,
 
 ListsManager::~ListsManager( )
 {
+    uno::Reference<drawing::XShape> xShape;
+    for (std::vector<NumPicBullet::Pointer>::iterator it = 
m_aNumPicBullets.begin(); it != m_aNumPicBullets.end(); ++it)
+    {
+        xShape = (*it)->GetShape();
+        if (xShape.is())
+        {
+            uno::Reference<lang::XComponent> xShapeComponent(xShape, 
uno::UNO_QUERY);
+            xShapeComponent->dispose();
+        }
+    }
 }
 
 void ListsManager::lcl_attribute( Id nName, Value& rVal )
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to